Перейти к содержимому

Ngrok как открыть порты

  • автор:

ngrok — Когда нужно прокинуть ваш сервис в Интернет

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

Для данных случаев вы можете воспользоваться сервисами создания туннелей до вашего компьютера. Одним из популярных сервисов для построения туннелей до вашего компьютера является ngrok. Он безумно простой и одновременно функциональный в бесплатной версии. Сам я наткнулся на него, когда отлаживал работу платежки на PayPal.

Как работать с ngrok

Для работы нам необходимо:

  • скачать бинарный файл для вашей системы — ngrok;
  • зарегистрировать аккаунт на ngrok для получения токена;
  • удостовериться, что ваш локальный сервис запущен и ожидает HTTP запросов;
  • запустить ngrok.

Эти 5 шагов позволят получить временный домен для проверки вашего сервиса. Но давайте попробуем разобрать на примере запуска локального сервиса. Я буду запускать Nginx сервер в docker контейнере.

  • У меня Mac OS, и я воспользуюсь пакетным менеджером brew.
brew cask install ngrok 
  • Затем вы должны либо войти в свой аккаунт, либо зарегистрироваться.

Imgur

  • Перейдите по вкладке Auth и скопируйте ваш токен.

Imgur

  • Запустите ваш сервис на удобном для вас порту. Я буду использовать Nginx.
docker run --name some-nginx -p 8080:80 nginx 

Таким образом, я ожидаю подключения на адрес 127.0.0.1:8080 и получу стандартное сообщение от Nginx.

  • Затем запускаем ngrok.
ngrok http 8080 

Где 8080 — ваш локальный порт, где запущен сервис.

В терминале будет примерно следующая картина:

ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Account Rinat Muhamedgaliev (Plan: Free) Update update available (version 2.3.35, Ctrl-U to update) Version 2.2.8 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://870eb390.ngrok.io -> localhost:8080 Forwarding https://870eb390.ngrok.io -> localhost:8080 Connections ttl opn rt1 rt5 p50 p90 2 0 0.01 0.00 5.81 10.83 HTTP Requests ------------- GET /favicon.ico 404 Not Found GET / 200 OK 

Теперь, обратившись по адресу http://870eb390.ngrok.io или https://870eb390.ngrok.io, мы увидим стандартный ответ от Nginx как видели и раньше. А если открыть в браузере адрес http://localhost:4040, то можно получить доступ сервисной странице со статистикой и логом запросов.

Imgur

Таким образом, небольшой инструмент позволил получить временный домен и https адрес (иногда критично для платежных систем) для разработки. Полный набор ключей для параметризации можно почитать на странице https://ngrok.com/docs#http.

В бесплатной версии вы также можете строить TCP тоннели, если вам необходимо работать с TCP сервисами. С платными функциями вы можете познакомится на странице https://ngrok.com/pricing.

Открытые альтернативы

Если же вам ближе opensource решения, то советую взглянуть на localtunnel. Localtunnel написан на JS и очень прост в использовании.

Вам необходимо поставить npm пакет и запустить:

npm install -g localtunnel lt --port ваш порт> 

Из коробки данный сервис предлагает поддомены и https соединение. Более полную информацию можете почитать на главной странице проекта localtunnel.

А если хотите узнать о других интересных инструментах из мира разработки и желаете прокачаться в JVM стеке — приходите ко мне на обучение.

Нанять Рината своим индивидуальным наставником — это сюда: Записаться к Ринату

© Copyright 2014 — 2024 mkdev | Privacy Policy

Как открыть доступ к серверу используя Ngrok

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

Как открыть доступ к серверу с помощью Ngrok

Ngrok — это удобный инструмент, который позволяет быстро открыть доступ из интернета к локальному веб-серверу, работающему на вашем компьютере.

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

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

Достоинства и недостатки Ngrok

Вот несколько важных моментов, на которые следует обратить внимание.

Достоинства Ngrok:

  • Инструмент прост в установке и использовании. Вам нужно всего лишь скачать и запустить его, и вы уже имеете доступ к вашему локальному серверу из интернета.
  • Предоставляет общедоступные URL-адреса для вашего локального сервера, что упрощает тестирование и демонстрацию проектов клиентам или коллегам.
  • Предлагает защищенное соединение через HTTPS, что обеспечивает безопасную передачу данных между вашим сервером и клиентами.
  • Позволяет создавать временные туннели, что удобно для тестирования в ограниченное время или для предоставления доступа на короткое время.
  • Поддерживает не только HTTP, но и другие протоколы, такие как TCP и UDP, что делает его полезным для различных типов серверов.

Недостатки Ngrok:

  • Бесплатная версия Ngrok имеет ограничения, включая ограниченное количество общедоступных URL-адресов и более ограниченные возможности настроек.
  • Некоторые продвинутые функции доступны только в платных версиях Ngrok, что может быть ограничением для бесплатных пользователей.

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

Вот как настроить доступ к локальному серверу с помощью Ngrok.

Установка Ngrok

Перейдите на сайт ngrok.com и нажмите кнопку Download for Linux, скачайте и распакуйте zip-файл с помощью команды:

BootDev

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 команда

Как с помощью сервиса Ngrok сделать безопасный доступ к вашему локальному серверу с игрой Minecraft

В статье расскажу, как с помощью сервиса «Ngrok» можно осуществить безопасный доступ удаленных пользователей к локальному серверу на вашем компьютере, например, игроков, к игре Minecraft, запущенной на локальном севере вашего компьютера.

26 октября 2021, вторник 22:59
Megi [ ] для раздела Блоги

реклама

Что такое сервис «Ngrok»

реклама

Ngrok – это мультиплатформенное программное обеспечение, позволяющее, путем создания безопасных каналов связи «туннелей» устанавливать безопасные соединения между общедоступными конечными точками, коими является сеть интернет, и локальным сервером вашего компьютера. Оно создает туннель, который подключается к облачной службе Ngrok и резервирует публичный адрес, через который все обращения перебрасываются на порт локального сервера вашего ПК, другими словами, создает виртуальный сервер с открытым портом. Ngrok открывает локальные серверы за брандмауэрами (то есть, минуя их). А также при отсутствии у ПК статического IP-адреса, он не требует настройки пересылки.

Это известный, простой, удобный и безопасный localhost сервис туннелирования, у которого очень мало альтернатив. Ngrok может работать с операционными системами: Windows, macOS, а также Linux. Есть, как бесплатная версия сервиса, так и платные.

реклама

Цены на различные версии сервиса «Ngrok», и их возможности

У сервиса есть четыре версии, одна бесплатная и три платных, оплата производится ежемесячно.

1. Бесплатная. В ней реализовано использование до 4 туннелей и 40 соединений в минуту. Используются туннели HTTP/TCP на случайных URL/портах. Реализован один онлайн-процесс.

2. Базовая — 5 долларов, ~ 360 рублей. В ней реализовано использование до 8 туннелей и 60 соединений в минуту, реализован один онлайн-процесс. Имеется возможность резервации до 3 доменов. Включает в себя единый вход в Google Apps, и разрешается составлять пользовательские поддомены.

реклама

3. Профессиональная — 8.25 долларов ~ 594 рубля. В ней реализовано использование до 12 туннелей и 60 соединений в минуту, реализовано 2 онлайн-процесса. Имеется возможность резервации до 5 доменов с белыми метками. Включает в себя до 2 зарезервированных TCP-адреса, сквозные туннели TLS.

4. Бизнес — 10 долларов ~ 720 рублей. В ней реализовано использование до 20 туннелей и 120 соединений в минуту, реализовано 2 онлайн-процесса. Имеется возможность резервации до 5 доменов с белыми метками и доступ к белому списку IP – адресов. Включает в себя до 2 зарезервированных TCP-адреса, 1 домен с подстановочными знаками.

Использование сервиса «Ngrok» для доступа игроков к игре Minecraft

Я использую бесплатную версию сервиса «Ngrok» для доступа игроков к игре Minecraft. Чтобы воспользоваться сервисом необходимо выполнить следующие шаги:

реклама

1. Заходите на сайт «Ngrok»;

2. Регистрируетесь на сайте «Ngrok»;

3. Скачиваете архив с «exe» файлом программы. В «Linux» или «Mac OS X» вы можете распаковать «ngrok» с терминала с помощью следующей команды (unzip /path/to/ngrok.zip). В «Windows» просто дважды щелкните ngrok.zip, чтобы извлечь его.

4. Находите свой токен на сайте «Ngrok», во втором пункте. Копируете строку, начиная с ngrok…. вставляете ее в командную строку, и нажимаете «Enter».

5. Открываете игру Minecraft, создаете новый мир и открываете его для сети, копируете номер порта, который игра нам выдала, он понадобится при следующем шаге.

6. Дальше выбираете, что вы хотите открыть. Локальный мир/Сервер.

Локальный мир:
Пишете в командной строке: ngrok tcp -region=eu (указываете регион, где будет расположен сервер), и (порт, который выдала вам игра при открытии мира для сети) Пример: ngrok tcp -region=eu [Порт];

В данный момент доступны следующие регионы:

us – United States (Ohio);

eu – Europe (Frankfurt);

ap – Asia/Pacific (Singapore);

au – Australia (Sydney);

sa –South America (Sao Paulo);

ip – Japan (Tokyo);

in – India (Mumbai).
Сервер на компьютере:
Чтобы узнать порт, нам нужно заглянуть в файл server.properties и найти строку “server -port=[Порт]” скопировать порт и написать в командной строке: ngrok tcp -region=eu [Порт] после того как вы запустили сервер на компьютере.

7. Нажимаете «Enter», и происходит запуск «Ngrok». Окно с «Ngrok» не закрываете, так как «Ngrok» работает пока окно активно. (можно сбросить вниз)

8. Указанный адрес-порт в строке «Forwarding», будет нашим IP-адресом, который и нужен игрокам для входа в нашу игру. Даём его игрокам для входа в игру.

Безопасен ли сервис «Ngrok»

Доступ организован через безопасный туннель, создаваемый при запуске Ngrok. Он передает данные только на открытый вами порт. Ngrok безопасный настолько, насколько безопасно работающее с ним приложение. Благодаря этому сервису, вы можете безопасно поделиться вашим сервером разработки localhost с кем угодно, и где угодно.

Альтернативные программы

1. pagekite.net: Создает HTTP- и TLS-туннели. Программа является бесплатной только 30 дней, по истечении того срока необходимо будет платить.
2. localhost.run: Создает HTTP туннели через SSH. Бесплатная служба, клиент или регистрация не требуются.

3. sish: клиент-контейнер с открытым исходным кодом. Регистрация не требуется.

4. LocalXpose: коммерческий сервис с бесплатными опциями. Регистрация обязательна, но доступны терминальные клиенты и клиенты с графическим пользовательским интерфейсом.

Использование выделенного сервера

Кроме того, я еще арендую выделенный сервер со следующими возможностями:

На нем у меня организован доступ игроков к игре Minecraft. Кому интересно, можете зайти посмотреть, или поиграть.

Пишите в комментариях, использовали ли вы сервис «Ngrok» для доступа пользователей к играм или другим ресурсам на своем компьютере? И пользовались ли когда-нибудь выделенным сервером?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *