SCROLL
Среднее время на прочтение: 1 мин.

Утилита NGROK. Расшариваем веб-сайт на localhost в глобальную сеть интернет.

Добрый день всем хорошим людям. Я далеко не первый но всё же решил написать про утилиту ngrok которая позволяет сделать доступным ваш локальный Web-сервер в интернет.

 

Часто бывает так. Разрабатываешь для заказчика. Пройден какой то этап, есть что показать заказчику или нужно быстро чего-то согласовать и проще и быстрее показать чем объяснить. В общем возникает необходимость показать свой локальный Web-сервер заказчику.

 

И если например разработка ведётся в виртуальной машине или машина разработчика за Nat-ом. То это уже проблема. Хорошо когда есть где-то хост на который можно задеплоить выполненную работу. Но всё равно для этого нужно делать много лишних движений а это время. Особенно если есть необходимость вносить изменения под диктовку заказчика и сразу же показывать.

 

Вот все эти проблемы ngrok позволяет решить в один клик. Скачиваем нужную версию установщика https://ngrok.com/download . Вернее там не программа установщик а архив всего с одним лишь файлом ngrok.exe. Копируем этот файл в удобную нам папку. Ну и в общем всё установка завершена.

 

Настройка не намного сложнее. Очень рекомендую зарегистрироваться на сайте и в разделе auth получить Your Tunnel Authtoken. После этого идем в папку где разместили ngrok.exe запускаем cmd и выполняем следующею команду:

ngrok authtoken ПолученыйНаСайтеКлюч

[stextbox id=’warning’]Это нужно проделать один раз. ngrok где-то в системе запомнит ваш ключ авторизации и автоматически будет его использовать когда нужно.[/stextbox]

 

Теперь настройка туннеля к сайту. Если локальный сайт у нас один, мало ли, то запускаем cmd в папке с ngrok.exe и выполняем следующею команду:

ngrok http 80

 

Но обычно локальный сайт у нас не один а виртуальные сервера в среде Windows настроены через hosts. С этим тоже проблем нет. Например у меня локальная копия данного сайта настроена по адресу http://alevada.loc. Чтобы пробросить его в интернет запускаю cmd в папке с ngrok и выполняю следующею команду:

ngrok http -host-header=rewrite alevada.loc:80

 

По команде вроде бы всё понятно, но всё же рассмотрим параметр alevada.loc:80. Alevada.loc это локальный домен моего локального, виртуального сайта. А 80 порт на котором висит мой локальный, виртуальный сайт.

В консоли должно получится как-то вот так:

Строки:

Forwarding http://3f5adfe1.ngrok.io -> alevada.loc:80
Forwarding https://3f5adfe1.ngrok.io -> alevada.loc:80

 

Сообщают нам по какому вэбадресу теперь доступен наш сайт. Очень приятным является то что наш сайт теперь доступен не только по http но и по https, что очень удобно при отладке ботов, платежных систем и прочего. Потому что последнее время RestApi сторонних сервисов очень хотят https и отказываются работать с http.

 

Особо стоит упомянуть Web Interface http://127.0.0.1:4040 утилиты ngrok. Очень подробный лог. Возможность повторить запрос пользователя без участия пользователя, кнопка Replay. Ну и хорошо отображен ответ, заголовок. Очень удобно смотреть ответ от RestApi вашего сайта, красиво показывает JSON. Как по мне очень удобно.

 

 

 

Иногда особенно полезной может оказаться возможность повторить запрос. При отладке разнообразных RestAPI сторонних сервисов, очень полезная фишка.

 

Так как у меня несколько сайтов то в папке с ngrok я сделал батники с именами нужного виртуального хоста и когда нужно запускаю тот который необходим. Кстати два или более сайтов сразу пробросить нельзя. Ну в общем то не особо и надо.

Обсуждение

2 комментариев
  • А где пример как все то же самое развернуть на Линухе?

  • умер ngrok однако в ру=(