К статьям

Ngrok

5 мин


Ngrok — это приложение и сервис, с помощью которого можно открыть доступ к внутренним ресурсам компьютера, на котором он запущен, из внешней сети. Ngrok помогает создать публичный адрес и тоннель между публичным адресом и компьютером. С помощью которых  пересылает все поступающие запросы из внешней сети на целевой компьютер.

Зачем это нужно?

Большинство из нас пользуется обычным домашним интернетом, и не имеет статического IP-адреса. Наш IP-адрес временно выдается нам нашим провайдером интернета, и с определенной переодичностью меняется. Что не позволит нам стабильно работать с нашим ресурсом, придется постоянно проверять не поменялся ли наш IP-адрес. Это очень неудобно. Для того, чтобы проверить это в можете перейти на сайт 2ip, запомнить текущее значение IP-адреса, и обновить страницу спустя некоторое время. Ngrok же берет на себя формирование стабильного соединения и предоставляет нам виртуальный адрес, по которому мы можем получить доступ к нашему компьютеру извне.

Как использовать?

Перейдите на сайт ngrok в раздел загрузок выберите вашу операционную систему и скачайте файлы 

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

Я распаковываю архив в корень диска C, чтобы было проще к нему обращаться

Очень желательно зарегистрироваться на платформе ngrok, чтобы получить более долго живущие соединения, иначе сессия будет обрываться достаточно часто. 

После регистрации в личном кабинете ngrok нам станет доступен токен авторизации, который нам необходимо будет добавить в конфигурацию ngrok.

Переходим в раздел Токенов


Нажимаем на добавление токена

Сохраняем новый токен

 

После сохранения появится окно с токеном, можно его скопировать и закрыть окно

 

После получения токена мы должны перейти в консоль на нашем компьютере и выполнить команду, как написано в инструкции при скачивании 

Для этого открываем командную строку, если у вас Windows, то через Пуск и в поле поиска вводим CMD
 

Если у вас Mac OS или Linux, то открываем Terminal

Переходим в папку где мы развернули наш архив с Ngrok. В моем случае эта команда выглядит так.

cd C:\ngrok-v3-stable-windows-amd64

 

И выполняем команду, которая была указана в инструкции по установке, где заменяем слово <token> на тот токен который получили ранее

ngrok config add-authtoken <token>

 

В результате мы получили сообщение о том, что наш токен сохранен и всё в порядке. Это значит, что в дальнейшем приложение Ngrok будет авторизовываться на сервере с помощью этого токена и позволять на делать немного больше, чем неавторизованный пользователь.

Теперь запустим наш Ngrok. для этого необходимо выполнить команду

ngrok http 80

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

Получили следующий результат работы приложения. 

Это значит, что тоннель открыт, и в поле Forwarding указан адрес, по которому наш компьютер доступен извне. Так же там указано что этот адрес указывает на внутренний адрес http://localhost:80. И если ваше приложение доступно на вашем компьютере по адресу localhost:80, то значит оно будет доступно и извне по сгенерированному ngrok адресу. 

Для того, чтобы закрыть тоннель можно нажать Ctrl + C внутри командной строки, или закрыв приложение. 


Всё, работа сделана, теперь можно пользоваться. Испытания в нашей академии используют методы автоматического тестирования ваших приложений, которые находятся на вашем компьютере. А Ngrok позволяет получить к ним доступ с нашего сервера.