One of the useful and frustrating thing about iterating through web development cycles is that Visual Studio, in particular, creates a locally accessible URL to run your site from. This of course is fine when I am testing a front end or an API that I need to access locally. Occasionally though you need to present your API to the outside world to do some unit or integration test while not necessarily pushing a full deploy to your development or QA servers.



ngrok provides a secure tunnel to expose local or developer servers (http://localhost:9655/webapps) behind NATs and firewalls to the public internet ( over secure tunnels. For example, one of the problems we face at work is that we have a limited set of devices that can access our QA environment. So if you want to test something on a mobile device getting it on the network is a task. It is now possible to expose particular endpoints to the public internet and essentially have any device test against your updated API from any location.

ngrok 2.0 appears to be a complete rethink providing enterprise grade scale, speed, and reliability that is production ready, introducing features including wildcard domains, reserved TCP addresses, and end-to-end TLS tunnels.

As a primarily a backend developer I am finding solutions like this invaluable to speedy development cycles!