Очень часто возникает ситуация когда необходимо организовать доступ к локально запущенному веб приложению другому человеку. Во время проведения коротких демо показов не всегда удобно арендовать временные виртуальные машины или строить мост до своего ПК через cloudflare или vpn.
Если вам не повезло также как и мне, и ваш интернет провайдер не предоставляет возможность аренды статического ip адреса, то предлагаю рассмотреть инструмент который сможет облегчить жизнь.
«Pnode — это аналог популярных сервисов для туннелирования tcp запросов, таких как ngrok и localtunnel. Если вы ранее пользовались одним из этих инструментов для того, чтобы расшарить свой localhost в интернет, то принцип работы Pnode будет сразу понятен: он создает безопасный публичный URL, который перенаправляет все запросы на ваш локальный сервер. Это избавляет от необходимости разбираться с настройкой firewall, пробросом портов на роутере или арендой виртуального сервера.»
1. Регистрация и настройка сайта
Нам потребуется создать аккаунт на сайте pnode.site и установить локально NodeJS
После подтверждения почты создаём новый сайт, я указал в качестве имени - pahatrop, адрес моего сайта pahatrop.pnode.site. На этом этапе нам необходимо сохранить PROJECT ID, AGENT ID, AGENT TOKEN, они нам пригодятся позже. Больше они нигде не отобразятся!
Если перейти на полученный адрес pahatrop.pnode.site сейчас, то увидим ошибку — это нормально, так как мы еще не подключили агент.
2. Подготовка локального сервера
Для примера создадим простое приложение на NestJS с http api:
npx nest new myserver
Запускаем локальный веб сервер:
cd myserver
npm run start
Если всё прошло успешно, то запрос к http://127.0.0.1:3000 вернет «Hello World!»
3. Запуск агента pnode
Теперь нужно подключить наш локальный порт к удаленному домену.
Установить переменные, используя сохраненные AGENT_ID
и AGENT_TOKEN
:
export AGENT_ID=3a4a89c2-be3a-46ba-94af-xxxxxxxxxxxx
export AGENT_TOKEN=yL5HUjyeBL4XiuakGmhMNlfvxxxxxxxxxxxx
Запустить агент, указав PROJECT ID
и локальный порт:
npx start-pnode --project 804441e8-bb10-4469-95ec-123456d83df6 --port 3000
4. Готово
Если агент подключился успешно, в консоли вы увидите соответствующее сообщение.
Теперь все запросы на персональный поддомен (pahatrop.pnode.site
) будут автоматически перенаправляться на локальный сервер на порту 3000.
Перемещено hobbit из development