Projekt D: Cloudflare Tunnel – Publishing von mesutslab.dev
Domain: mesutslab.dev + www
Host: Ubuntu VM (192.168.178.40)
Origin: NGINX Reverse Proxy (Port 80)
Service: cloudflared (systemd)
Ziel: Sichere Veröffentlichung der internen Web-Services ohne Port-Forwarding (Inbound geschlossen), Zugriff über Cloudflare Tunnel.
1. Ausgangslage
- Website / Reverse Proxy läuft auf Ubuntu VM (Docker NGINX).
- Domain wird über Cloudflare verwaltet.
- Publishing soll ohne klassische Portfreigaben erfolgen.
2. Architektur
- cloudflared baut einen ausgehenden Tunnel zu Cloudflare auf.
- Cloudflare routet Requests für
mesutslab.dev auf den lokalen Origin.
- Origin ist NGINX auf
http://127.0.0.1:80 (Ubuntu VM).
3. Konfiguration (ingress)
tunnel: 03e1b69e-06f3-48d8-acb9-fac1a2e39d46
credentials-file: /root/.cloudflared/03e1b69e-06f3-48d8-acb9-fac1a2e39d46.json
ingress:
- hostname: mesutslab.dev
service: http://127.0.0.1:80
- hostname: www.mesutslab.dev
service: http://127.0.0.1:80
- service: http_status:404
4. Problem & Lösung: HTTP 502
Symptom: Externes curl -I https://mesutslab.dev liefert 502 Bad Gateway.
Root Cause: cloudflared war falsch konfiguriert und hat auf 127.0.0.1:8006 (Proxmox WebGUI Port) gezeigt.
dial tcp 127.0.0.1:8006: connect: connection refused
Fix: Origin korrekt auf http://127.0.0.1:80 gesetzt → Website wieder erreichbar.
5. Verifikation
# lokal
curl -I http://127.0.0.1:80
# extern (über Cloudflare)
curl -I https://mesutslab.dev
Screenshots (Nachweis)
systemctl status cloudflared (active/running).
cloudflared config.yml (ingress → NGINX :80).
Fehlernachweis: 127.0.0.1:8006 refused.
Nach Fix: curl extern → 200 OK.