6.4 KiB
| title | description | published | date | tags | editor | dateCreated |
|---|---|---|---|---|---|---|
| Cервис localtunnel | true | 2023-11-15T18:13:16.532Z | markdown | 2023-11-15T18:11:13.511Z |
Узнал про необычный и полезный сервис localtunnel, решил с вами поделиться. Делает он простую вещь - пробрасывает во внешний мир какой-то локальный web сервис. Например, у вас крутится приложение на 127.0.0.1:80, а вы хотите его кому-то показать через интернет, не меняя настроек, пробросов портов и т.д. Localtunnel вам поможет. Работает он на NodeJS.
Установка:
dnf module enable nodejs:14
dnf install nodejs
npm install -g localtunnel
Для того, чтобы пробросить своё приложение, запускаете localtunnel:
lt --port 80
После запуска получите url вида https://odd-fireant-71.loca.lt Открыв его, вы увидите свое приложение, работающее на 127.0.0.1:80. Проверить очень просто. Я запустил nginx на localhost и пробросил его.
Мне показался сервис очень полезным. Лично мне бы пригодился платный сервис на его основе со своей отдельной авторизацией. Прямо сейчас стоит задача опубликовать в интернет специфичный сервис, который работает локально. Просто как есть опубликовать в интернет нельзя, он не развивается и не обновляется, работает на asp.net. Через nginx proxy корректно не заработал. Принял решение через vpn делать доступ, но это лишние проблемы по настройке пользователей. Но ничего лучше и безопаснее не придумал.
Сайт -https://theboroer.github.io/localtunnel-www/
Исходники - https://github.com/localtunnel/localtunnel
Позавчера рассказывал про сервис localtunnel (https://t.me/srv_admin/1477). Я подобный сервис увидел впервые, просто не знал о нём. Нашлось много людей, которые зачем-то стали доказывать, что это плохая идея, небезопасно, надо пробрасывать порты, ssh туннели и т.д. Можно много чего сделать, но только это немного другой подход.
Как оказалось, подобный сервис очень востребован и популярен. Существует даже в реализации от Cloudflare под названием Cloudflare Argo Tunnel.
https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-tunnel
Если поднимать вопрос доверия и безопасности, то получается и Cloudflare доверять нельзя, и любой защите от ddos, которая весь траф через себя пропускает. И облачным провайдерам, у которых есть полный доступ к вашим виртуалкам и данным внутри них, если вы не используете шифрование, а в некоторых случаях даже если используете. В общем, тема для дискуссии неконструктивная. Каждый сам в конкретном случае должен решить для себя, кому он доверяет и на какие риски готов пойти.
Установить Cloudflare Tunnel очень просто. Есть deb и rpm пакеты (https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation), докер образ (https://hub.docker.com/r/cloudflare/cloudflared).
Как им пользоваться, рассказано отдельно (https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide). В общем случае последовательность действий следующая:
1. Устанавливаете Cloudflare Tunnel на компьютер.
2. Авторизуетесь в приложении с помощью своего аккаунта в Cloudflare.
3. Создаёте туннель и связываете его со своей учёткой.
4. Настраиваете конфиг туннеля, где указываете свой локальный сервис и его привязку к созданному ранее туннелю.
5. Связываете туннель со своим доменным именем, указанным в CNAME и запускаете.
Если доверяете cloudflare, то такое решение можно использовать и на постоянку. Выглядит достаточно безопасно. Вам вообще не нужно настраивать доступ из интернета на свой веб сервер. Даже tls сертификаты не нужны, если готовы гнать нешифрованный траф в Cloudflare. Последний сам выдаст бесплатный сертификат для конечной публикации.
Если я правильно понял, то для того, чтобы пользоваться Argo Tunnel бесплатно, нужно зарегистрировать Cloudflare For Teams free subscription.
