51 lines
6.4 KiB
Markdown
51 lines
6.4 KiB
Markdown
---
|
||
title: Cервис localtunnel
|
||
description:
|
||
published: true
|
||
date: 2023-11-15T18:13:16.532Z
|
||
tags:
|
||
editor: markdown
|
||
dateCreated: 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](https://odd-fireant-71.loca.lt/) Открыв его, вы увидите свое приложение, работающее на 127.0.0.1:80. Проверить очень просто. Я запустил nginx на localhost и пробросил его.
|
||
|
||
Мне показался сервис очень полезным. Лично мне бы пригодился платный сервис на его основе со своей отдельной авторизацией. Прямо сейчас стоит задача опубликовать в интернет специфичный сервис, который работает локально. Просто как есть опубликовать в интернет нельзя, он не развивается и не обновляется, работает на [asp.net](http://asp.net/). Через nginx proxy корректно не заработал. Принял решение через vpn делать доступ, но это лишние проблемы по настройке пользователей. Но ничего лучше и безопаснее не придумал.
|
||
|
||
Сайт -https://theboroer.github.io/localtunnel-www/
|
||
Исходники - [https://github.com/localtunnel/localtunnel](https://github.com/localtunnel/localtunnel)
|
||
|
||
Позавчера рассказывал про сервис localtunnel ([https://t.me/srv\_admin/1477](https://t.me/srv_admin/1477)). Я подобный сервис увидел впервые, просто не знал о нём. Нашлось много людей, которые зачем-то стали доказывать, что это плохая идея, небезопасно, надо пробрасывать порты, ssh туннели и т.д. Можно много чего сделать, но только это немного другой подход.
|
||
|
||
Как оказалось, подобный сервис очень востребован и популярен. Существует даже в реализации от Cloudflare под названием Cloudflare Argo Tunnel.
|
||
|
||
[https://developers.cloudflare.com/pages/how-to/preview-with-cloudflare-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://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation)), докер образ ([https://hub.docker.com/r/cloudflare/cloudflared](https://hub.docker.com/r/cloudflare/cloudflared)).
|
||
Как им пользоваться, рассказано отдельно ([https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide](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.
|
||
|
||
 |