There is a nice tool called ngrok. It allows to bind the URL for your localhost server!
For example, you’ve launched a django development server on you computer:
python manage.py runserver
and this project can be accessed by remote URL.
At least i can imagine such tasks:
- demonstrate project to customer
- check your site integration with payment system. For example paypal, where for receiving IPN messages you need a working site URL, even for sandbox
- Download ngrok from here
- Unpack downloaded archive
- Start django development server (by default on 8000 port)
- Start ngrok:
- In console you’ll see something like this:
ngrok Tunnel Status online Version 1.6/1.6 Forwarding http://51c85c8a.ngrok.com -> 127.0.0.1:8000 Forwarding https://51c85c8a.ngrok.com -> 127.0.0.1:8000 Web Interface 127.0.0.1:4040 # Conn 0 Avg Conn Time 0.00ms
Now your server is bind to http://51c85c8a.ngrok.com
It is not very useful, that on every start ngrok will generate new url like
But we can assign custom subdomain and project can be accessed by the same url.
To do it we need:
- take auth token
let ngrok know your auth token (it is needed to do only once):
./ngrok -authtoken your_auth_token 8000
set your custom subdomain like this:
./ngrok -subdomain=mysupersite 8000
After that our local server will be shown at http://mysupersite.ngrok.com.