Внешний url для localhost сервера
Есть замечательная тулза под названием ngrok. Она позволяет привязать URL для вашего localhost сервера!
Например, вы запускаете тестовый сервер django у себя на компьютере:
python manage.py runserver
и этот сервер будет доступен через внешний URL.
Для чего?
Как минимум есть такие задачи:
- продемонстрировать проект заказчику
- проверить интеграцию вашего сайта с платежной системой, которая отправляет уведомления. Например paypal, где для получения IPN сообщения нужен работающий URL, даже в sandbox
Как
- Скачиваем ngrok отсюда
- Распаковываем скаченный архив
- Запускаем тестовый django сервер (по умолчанию это 8000 порт)
- Запускаем ngrok:
./ngrok 8000
- В коносле видим примерно следующее:
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
Теперь заходим по адресу http://51c85c8a.ngrok.com и видим наш сервер!
Улучшения
Не совсем удобно, что при каждом запуске ngrok будет присваивать новый url вида ********.ngrok.com
.
Но можно присвоить свой поддомен и сервер будет доступен по этому адресу.
Для этого надо лишь:
- зарегистрироваться
- получить auth token
-
один раз указать ngrok полученный auth token (после первого запуска создается файл
~/.ngrok
, в котором сохраняется введенный token):./ngrok -authtoken your_auth_token 8000
-
теперь можно запускать так:
./ngrok -subdomain=mysupersite 8000
Теперь наш локальный сервер доступен по адресу http://mysupersite.ngrok.com