Frequently Asked Questions

I use pow, MAMP, WAMP, or another webserver which uses 'virtual hosts' to serve multiple development websites. Can I use ngrok to expose one of my sites?

Yes. Use ngrok's -host-header option to pick which virtual host you want to target. This causes ngrok to rewrite the Host header of all tunneled requests. For example, to route to your local site myapp.dev, you would run:

ngrok http -host-header=myapp.dev 80

Can I tunnel a Wordpress site over ngrok? When I try, all of the links are broken.

Yes. You need to add one of the following plugins to force Wordpress to issue relative URLs.

Can I run my own ngrok server?

Yes. You may license an on-prem version of the ngrok server for commercial use. Please contact sales for further details.

Does ngrok tunnel websocket connections?

Yes. However, there is currently no support for introspecting them.

Does ngrok work behind a proxy?

Yes. You may run ngrok through an HTTP or SOCKS5 proxy. Consult the documentation on how to configure ngrok to use an HTTP proxy. ngrok also respects the standard unix environment variable http_proxy.

How do I pronounce ngrok?

en-grok

Can I tunnel a CORS API with HTTP basic authentication over ngrok?

Yes, but you cannot use ngrok's -auth option. ngrok's http tunnels allow you to specify basic authentication credentials to protect your tunnels. However, ngrok enforces this policy on *all* requests, including the preflight OPTIONS requests that are required by the CORS spec. In this case, your application must implement its own basic authentication. For more details, see this github issue.

What information is logged or stored about my tunnels on ngrok.com?

ngrok does not log or store any data transmitted through your tunneled connections. ngrok.com does log some information about the connections which are used for debugging purposes and metrics like the name of the tunnel and the duration of connections. For complete end-to-end security, use a TLS tunnel.