Skip to main content

FAQ

Does ngrok have an official Status page?

Yes. The official ngrok status page is status.ngrok.com.

Can I choose a different port to receive traffic on my ngrok domains?

No. ngrok accepts traffic on port 80 for HTTP endpoints, 443 for HTTPS endpoints and port 443 as well for TLS endpoints. This behavior is not configurable.

TCP endpoints use the port of the TCP address that was assigned when you acquires the TCP address. This port is assigned and not configurable.

Will the ngrok agent work if my network changes?

Yes. The ngrok agent is robust to all network changes. If you switch wifi networks or your modem restarts and you have a dynamic IP that changes, the ngrok agent will automatically detect this condition and re-establish connectivity with the ngrok cloud service. You don't need to take any manual action to restart or reconfigure the agent.

What information is stored about my use of ngrok?

Please see our Terms of Service and Data Processing Agreement for more information.

Can I forward to upstream services on different machines?

Yes, specify the full network address. For example:

ngrok http 192.168.1.1:8080
ngrok tcp my-db.my-network:3306

Does ngrok support CORS?

Yes, applications exposed via ngrok's HTTP endpoints will work with CORS.

Your application must serve the appropriate CORS headers, or you may use ngrok's response headers module to add the appropriate CORS headers. Setting the correct CORS headers is non-trivial, but for very simple examples you may try:

ngrok http 80 --response-header-add "Access-Control-Allow-Origin: *"

If you use any of ngrok's authentication modules, CORS preflight options requests are blocked by default. You may override this behavior for OAuth, OpenID Connect, and SAML modules by setting the "options passthrough" parameter to true.

Basic Auth (--basic-auth) does not yet support configuring options passthrough.

What's the status of ngrok v1?

The original open source ngrok agent 1.x is available on GitHub but is no longer developed, supported or maintained. The latest ngrok agent is available on our ngrok downloads page.

How do I pronounce ngrok?

en-grok

How long has ngrok been around?

The first prototype for ngrok was committed on March 20th, 2013.

Why does port scanning my ngrok domain show other open ports

ngrok uses a shared set of servers to service both HTTP(s)/TLS and TCP traffic. All HTTP(s)/TLS traffic is serviced on ports 80 and 443. For TCP traffic each customer is allocated one or more port(s) for their traffic. This means if you port scan a domain or ip address on the ngrok network you will potentially see a number of open ports. Those ports are configured to only route traffic to the customers who have allocated them.

For HTTPS and TLS traffic ngrok uses TLS SNI to indicate which domain is being requested. This enables traffic to be routed to the correct customer. For TCP traffic ngrok uses the IP and port to indicate which customer to route traffic to.

As with all publicly accessible IPs and ports on the internet anyone can send traffic to those endpoints, but ngrok provides a number of mechanisms to control what traffic actually gets routed to you ngrok agent or sdk.