2018-05-13

Ngrok - доступ к локальным портам через интернет

Ngrok, а точнее сервис https://ngrok.com/, позволяет организовать доступ к порту локальной машины через интернет, минуя брандмауэры и NAT.



Как это работает


Схема очень проста. Вы скачиваете приложение, консольную программу ngrok. Запускаете, указав в параметре локальный порт службы, например веб-сервера, к которому нужно получить доступ из интернета. Ngrok создает туннель до своих серверов, и выдает вам временный адрес, что то вроде этого 07d9ce94.ngrok.io. Обратившись по этому адресу, вы попадете на порт своей локальной машины.


Пример


Для примера, я запущу на своей локальной машине файловый веб-сервер GoWebFS на порту 8080.



Теперь, я хочу чтобы мой локальный ресурс localhost:8080 был доступен через интернет. Для этого я запускаю ngrok.

ngrok http 8080


Как можно видеть на скриншоте, ngrok выдал мне адрес 4ae30269.ngrok.io. Обращусь к нему через браузер.


Все работает.


Где скачать


Скачать ngrok можно по ссылке https://ngrok.com/download.


Примеры запуска


Открываем доступ к локальному порту http 8080.

ngrok http 8080


Открываем доступ к локальному порту http 8080 с авторизацией по логину и паролю.

ngrok http --auth "логин:пароль" 8080


Открываем доступ к локальному TCP порту 22 (для выполнения этой команды потребуется авторизовать клиент ngrok).

ngrok tcp 22


Авторизация клиента ngrok (выполняется одни раз), получить токен можно по адресу https://dashboard.ngrok.com/auth.

ngrok authtoken ваш_токен


Перенаправление порта http на другой (не локальный) адрес:порт.

ngrok http 192.168.0.1:80 # адрес и порт подставлены для примера


Перенаправление порта tcp на другой (не локальный) адрес:порт.

ngrok tcp 192.168.0.254:22 # адрес и порт подставлены для примера


Получение справки по указанной команде.

ngrok help команда

Комментариев нет :

Отправка комментария