Cloudflare Tunnel позволяет опубликовать локальный сервер в интернете без белого IP и без открытых входящих портов. Соединение инициируется изнутри сети — сервер недоступен напрямую.
Как работает Cloudflare Tunnel
- Демон
cloudflaredна вашем сервере создаёт исходящее зашифрованное соединение с Cloudflare - Cloudflare принимает трафик на своём edge для вашего домена
- Трафик передаётся через туннель на ваш сервер
- Нет открытых портов 80/443 на сервере
Установка cloudflared
# Ubuntu/Debian
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb
# Авторизоваться
cloudflared tunnel login
Создание туннеля
# Создать туннель
cloudflared tunnel create my-server
# Создать конфиг ~/.cloudflared/config.yml
tunnel: your-tunnel-id
credentials-file: /root/.cloudflared/your-tunnel-id.json
ingress:
- hostname: mysite.example.com
service: http://localhost:80
- hostname: api.example.com
service: http://localhost:3000
- service: http_status:404
Привязка домена и запуск
# Создать DNS-запись
cloudflared tunnel route dns my-server mysite.example.com
# Запустить туннель
cloudflared tunnel run my-server
# Добавить в автозапуск
sudo cloudflared service install
sudo systemctl enable cloudflared
✅ Cloudflare Tunnel бесплатен и работает на бесплатном плане Cloudflare. Отлично подходит для Raspberry Pi, домашнего сервера или dev-окружения.
Случаи использования
- Публикация dev-сервера для демонстрации клиенту
- Хостинг сайта на домашнем интернете без белого IP
- Защита сервера: нет открытых портов = нет прямых атак
- Self-hosted сервисы (Gitea, NextCloud, Home Assistant) с HTTPS
⚠️ Cloudflare Tunnel не подходит для высоконагруженных production-сайтов с большим трафиком — используйте полноценный VPS с прямым подключением к CDN.