Cloudflare Tunnel, özellikle dış dünyaya doğrudan port açmak istemediğim yapılarda en çok tercih ettiğim yayın katmanlarından biri. Özellikle ERP, yönetim paneli, iç servisler ve özel dashboard’larda hem güvenlik hem de operasyonel sadelik sağlar.
Neden klasik port yönlendirme yerine Tunnel?
Klasik modelde servis, firewall veya router üzerinden internete açılır. Bu hem origin IP’yi görünür hale getirir hem de doğrudan saldırı yüzeyi oluşturur.
Tunnel yaklaşımında ise:
- dış dünyadan içeri inbound port açılmaz
- origin IP görünmez
- TLS, WAF ve Access politikaları edge katmanında uygulanır
- servis yayınlama ve geri alma operasyonu çok daha kontrollü hale gelir
Kurulum mantığı
Temel akış şu şekildedir:
- Sunucuya
cloudflaredkurulur. - Tünel Cloudflare hesabına bağlanır.
- DNS kaydı tunnel’a yönlendirilir.
- Reverse proxy katmanı Nginx veya doğrudan servis olabilir.
- Gerekirse Cloudflare Access ile kimlik kontrollü erişim eklenir.
Örnek yaklaşım
cloudflared tunnel login
cloudflared tunnel create erp-panel
cloudflared tunnel route dns erp-panel erp.example.com
Ardından örnek bir config.yml:
tunnel: erp-panel
credentials-file: /etc/cloudflared/erp-panel.json
ingress:
- hostname: erp.example.com
service: http://127.0.0.1:8080
- service: http_status:404
Reverse proxy ile birlikte kullanım
Ben çoğu zaman içeride yine bir Nginx katmanı tutuyorum. Bunun iki büyük avantajı var:
- Uygulama loglarını servis bazlı ayrıştırmak kolaylaşıyor.
- İç ağda da tutarlı bir yönlendirme katmanı oluşuyor.
Nginx örneği:
server {
listen 8080;
server_name erp.internal;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Hangi senaryolarda çok faydalı?
- ERP veya yönetim paneli yayınlamak
- Uzak ekipler için güvenli dashboard erişimi vermek
- Geçici PoC ortamlarını hızla yayınlamak
- İç API’leri Access politikaları ile korumak
- Origin IP’yi dış dünyadan tamamen saklamak
Dikkat edilmesi gereken noktalar
- Sadece Tunnel kurmak yetmez, Access politikası da düşünülmeli.
- Origin sunucuda yerel firewall yine aktif olmalı.
- Log akışı hem Cloudflare hem origin tarafında tutulmalı.
- Tekil servislerde health-check ve timeout davranışları test edilmeli.
Sonuç
Cloudflare Tunnel, doğru kullanıldığında sadece kolay bir yayın aracı değil, ciddi bir güvenlik ve operasyon standardı haline gelir. Özellikle port açmadan servis yayınlama fikri, modern altyapılarda çok değerli bir katman sunar.