Traffic Policy Phases
on_tcp_connect
The first phase in the traffic lifecycle. This phase is triggered when a new TCP connection is established. It provides an opportunity to allow, reject, or manipulate connections before any higher-level protocol processing begins. This phase is present in all traffic to the endpoint.
on_http_request
Activated when ngrok receives an HTTP request over an established connection. This phase provides access to the requestβs details (e.g., headers, method, path) as variables and is ideal for actions like forwarding traffic, rewriting paths, or applying authentication and rate limits.
on_http_response
Triggered after ngrok receives a response from the upstream service. This phase allows you to modify the response before it is sent to the client, such as by adding headers, changing status codes, or transforming the response body.
Phases Available by Protocol
Some phases are not available on certain protocols. The following table defines the availability by protocol:Protocol | on_tcp_connect | on_http_request | on_http_response |
---|---|---|---|
HTTPS | β | β | β |
HTTP | β | β | β |
TLS | β | β | β |
TCP | β | β | β |