What is ngrok ?
Firstly , Ngrok is one of the open source project developed by GitHub. Ngrok is a multi platform tunneling, reverse proxy software package that establishes secure tunnels from a public termination like internet to a regionally running network service whereas capturing all traffic for elaborated review and replay.
Why Ngrok? How it is deployed?
Before using ngrok, we have a tendency to expose a localhost application to web (internet) all we were doing is deploying the appliance in an exceedingly server running a DMZ or we used to relocate the host to DMZ and assemble NATing within the firewall. We tend to additionally accustomed create DNS configuration in External DNS wherever the domain is hosted. In general, DMZ (De-Militarized Zone) could be a PC host or little network inserted as a “neutral zone” between a company’s non-public network and also the outside public network. It prevents outside users from obtaining direct access to a server that has company knowledge/data. The subsequent area unit the problems that we tend to were facing before Ngrok deployment:
- Unable to show localhost application directly on to web while not DMZ network configuration
- Unable to demonstrate application to client/customer on urgent basis
- Unable to share websites for testing purpose
- Develop any services that consume Web hooks (HTTP Call Backs)
- Can’t share a web site quickly that’s running solely on our developer machine
- Time intense/consuming on network and DNS configurations
- Can’t rectify/debug or examine/inspect HTTP Traffic in an exceedingly precise manner
- Can’t run networked services on machines that area unit firewalled off from the web
- Unable to show/expose application behind HTTP proxy
- Unable to forward non-http and non-local network services
Architecture before Ngrok readying/deployment
Real-time Ngrok Usage in Vmoksha (A Case Study):
After using Ngrok, we had self-addressed all the concerning needs and principally it serves our business want in quicker, secure and straight forward manner. Here is the following however we had used the options of Ngrok in our setting. In our state of affairs we used ngrok in Windows as follows:
As this is often a little 9MB executable(.exe) tool we are able to be typically dead with Ngrok command followed by the port no that should be exposed as follows,
Which gives a random subdomain on Ngrok.com and it’ll be accessible over each HTTP and HTTPS (Secure).
Running Multiple Tunnels Simultaneously:
We are using depth feature of Ngrok i.e., we are able to run multiple tunnels at the same time and few tunnel configuration is shown within the following YML configuration file.
Sample XML code for running multiple tunnels simultaneously (.yml file)
We can begin all four tunnels at the same time by mistreatment/using Ngrok begin command followed by the names of the tunnels we wish to start:
The Output Terminal can look one thing like this:
Request review/inspection with the online Interface:
Web Interface is accessible on http://127.0.0.1:4040 mistreatment that we are able to examine all the HTTP traffic requests over the tunnel. We are able to additionally replay them to form the debugging faster and easier.
Sample internet Interface for HTTP Traffic Inspection:
Architecture when Ngrok deployment
All in all, this is often a tremendous, secure and powerful tool that helps to fulfill our business desires on right time.
You can get more information from https://ngrok.com/docs
If you guys want part to than please comment down below:-