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.
Module | Description | Edges Supported |
---|---|---|
Circuit Breaker | Circuit breakers are used to protect upstream servers by rejecting traffic to them when they become overwhelmed. | HTTPS |
Compression | If 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 Restrictions | IP Restrictions allow you to attach one or more IP policies to the route. | HTTPS, TLS, TCP |
Mutual TLS | Also 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 |
OAuth | The 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 Headers | The Request Headers module allows you to add and remove headers from HTTP requests before they are sent to your upstream server. | HTTPS |
Response Headers | The Response Headers module allows you to add and remove headers from HTTP responses before they are returned to the client. | HTTPS |
SAML | This module restricts endpoint access to only users authorized by a SAML IdP. | HTTPS |
TLS Termination | Allows you to configure whether ngrok terminates TLS traffic at its edge or forwards the TLS traffic through unterminated. | HTTPS, TLS |
Webhook Verification | The webhook verification module allows ngrok to assert requests to your endpoint originate from a supported webhook provider like Slack or GitHub. | HTTPS |