Skip to main content

Modules


Modules are an ngrok edge component that allows you to change the behavior of the traffic flowing through HTTP, TCP, and TLS edges to add security, observability, encryption, and performance.

ModuleDescriptionEdges Supported
Circuit BreakerCircuit breakers are used to protect upstream servers by rejecting traffic to them when they become overwhelmed.HTTPS
CompressionIf an HTTP request includes an Accept-Encoding header, HTTP responses will be automatically compressed and a Content-Encoding response header will be added.HTTPS
IP RestrictionsIP Restrictions allow you to attach one or more IP policies to the route.HTTPS, TLS, TCP
Mutual TLSAlso known as "TLS client authentication", connections must complete a mutual TLS handshake in which the client presents a valid certificate signed by any of the root certificate authorities that you upload.HTTPS, TLS
OAuthThe OAuth module enforces an OAuth authentication flow in front of any route it is enabled on.HTTPS
OpenID Connect (OIDC)This module restricts endpoint access to only users authorized by a OpenID Identity Provider.HTTPS
Request HeadersThe Request Headers module allows you to add and remove headers from HTTP requests before they are sent to your upstream server.HTTPS
Response HeadersThe Response Headers module allows you to add and remove headers from HTTP responses before they are returned to the client.HTTPS
SAMLThis module restricts endpoint access to only users authorized by a SAML IdP.HTTPS
TLS TerminationAllows you to configure whether ngrok terminates TLS traffic at its edge or forwards the TLS traffic through unterminated.HTTPS, TLS
Webhook VerificationThe webhook verification module allows ngrok to assert requests to your endpoint originate from a supported webhook provider like Slack or GitHub.HTTPS