Ngrok — это кроссплатформенный инструмент, который использует облачные сервисы для предоставления доступа к локальным сетевым сервисам за NAT и межсетевыми экранами через безопасный туннель. Ngrok также может делиться локальными веб-сайтами, создавать/тестировать потребителей веб-перехватчиков и самостоятельно размещать личные сервисы. Ngrok был создан в 2012 году Аланом Шривом (@inconshreveable). Имеет бесплатную и платную версии.
В этой статье будут показаны простые шаги по настройке и использованию ngrok.
Зарегистрируйтесь на ngrok здесь и загрузите его. Разархивируйте файлы и запустите ngrok. Вы также можете установить ngrok через оснастку, используя:
$ snap install ngrok
Добавьте свой токен авторизации. Он доступен на левой панели панели инструментов. Можно либо отредактировать ngrok.yml, обычно хранящийся в ~/.ngrok2/ngrok.yml.
# Добавить Authtoken в ngrok.yml authtoken: 1lyypJPNKyYFnxgnbvbsds4S0iQ_5rVHeA7zsUeZ1Sntmpd9H
или просто введите:
$ ngrok authtoken <your_authtoken>
Это добавит ваш токен авторизации в файл конфигурации ngrok.yml. Добавив authtoken, ngrok grants, вы получили доступ к дополнительным функциям и увеличили время сеанса.
Запустим ngrok с HTTP. Для этого необходим номер локального порта. Следующая команда защитит общедоступный URL-адрес для веб-серверов порта 80.
$ ngrok http 80 ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Account andreyex Aslam (Plan: Free) Version 2.3.35 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://916f560728c3.ngrok.io -> http://localhost:80 Forwarding https://916f560728c3.ngrok.io -> http://localhost:80 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
Давайте разберемся с этим. После отображения онлайн-статуса он идентифицирует пользователя и установленную версию, определяет регион. Затем Ngrok сообщает, что веб-интерфейс для ngrok находится на порту 4040 localhost. Два URL-адреса, показанные в следующей строке, являются общедоступными адресами, через которые теперь можно получить доступ к вашему локальному сайту. Обратите внимание, что есть два URL-адреса, один с http, а другой с https-соединением.
Давайте исследуем страницу статуса.
Когда осуществляется доступ к переадресованному адресу (что-то вроде этого 757de47032a1.ngrok.io), Ngrok будет регистрировать запросы в CLI и веб-интерфейсе.
HTTP Requests ------------- GET /favicon.ico 404 File not found GET / 200 OK
Предположим, у вас есть веб-сайт, который вам нужно протестировать, и он работает на порту 1337 вашего локального хоста. Мы будем использовать следующую команду:
$ ngrok http 1337
Это будет туннелировать весь http-трафик с адреса ngrok на порт 1337 вашего устройства.
Используя платный план, пользовательские поддомены можно настроить с помощью:
$ ngrok http -subdomain=andreyex 80
Это будет туннелировать трафик порта 80 на andreyex.ngrok.io.
Кроме того, туннелируйте TCP-трафик на порт <port_number>, используя:
$ ngrok tcp <port_number>
Ngrok можно обновить, используя:
$ ngrok update
Ngrok — мощный инструмент, который может быть очень полезен при тестировании веб-сайтов. Возможно, размещение вашего действующего сайта на вашем компьютере — не лучшая идея, поэтому использование ngrok для живых сайтов не рекомендуется. Ngrok сделал тестирование сайта простым, эффективным и понятным.
Удачного тестирования !!!