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.
 | ||
| 
 | ||
|  |