Mit einem Cloudflare Tunnel machen Sie eine selbst gehostete App im Internet verfügbar, ohne auch nur einen einzigen Firewall-Port zu öffnen, ohne statische IP und ohne für irgendetwas zu bezahlen. Statt Ports an Ihrem Router weiterzuleiten, führen Sie auf Ihrem Server einen schlanken Agenten namens cloudflared aus; er baut eine ausgehende Verbindung zu Cloudflares Edge auf, und öffentlicher Traffic gelangt über genau diese Verbindung zurück zu Ihrer App. Diese Anleitung führt Sie durch die komplette Cloudflare-Tunnel-Einrichtung auf zwei Wegen (Dashboard und CLI) und erklärt anschließend, wann ein Tunnel das falsche Werkzeug ist.
Was ist ein Cloudflare Tunnel, und warum sollte man ihn nutzen?
Ein Cloudflare Tunnel ist eine dauerhafte, ausschließlich ausgehende Verbindung zwischen Ihrem Origin-Server und dem Netzwerk von Cloudflare. Da die Verbindung von Ihrer Seite aus aufgebaut wird, gibt es keine eingehenden Ports zu öffnen und nichts, was ein Portscanner finden könnte. Traffic an app.yourdomain.com erreicht zuerst Cloudflare und läuft dann durch den bestehenden Tunnel zu cloudflared, das ihn an Ihren lokalen Dienst weitergibt, etwa auf localhost:8080. Sie erhalten kostenlos Cloudflares TLS-Zertifikat, DDoS-Schutz und WAF vor Ihrer App, und die echte IP Ihres Servers bleibt verborgen. Laut Cloudflares Tunnel-Dokumentation funktionieren Tunnel in jedem Tarif, auch im kostenlosen, ohne Obergrenze für die Anzahl der Tunnel, die Sie erstellen. Genau diese Kombination – null offene Ports plus eine kostenlose, verwaltete Edge – ist der Grund, warum Homelab-Nutzer und kleine Teams sie dem klassischen Port-Forwarding vorziehen.
Bevor Sie beginnen: was Sie brauchen
Die Einrichtung ist kurz, aber drei Voraussetzungen sind unverzichtbar:
- Eine Domain bei Cloudflare. Die Nameserver Ihrer Domain müssen auf Cloudflare zeigen, damit dieses die DNS-Einträge erstellen kann, die zu Ihrem Tunnel führen. Die Domain selbst darf günstig sein; das Cloudflare-Konto ist kostenlos.
- Ein laufender Dienst, den Sie verfügbar machen wollen. Alles, was auf einem lokalen Port antwortet – eine Node-App auf
:3000, Nextcloud auf:80, ein Dashboard auf:8080. Falls Sie noch keinen Server haben, starten Sie mit unserem Leitfaden für die sichere erste Stunde auf einem VPS. cloudflaredauf diesem Server installiert. Es ist eine einzige Go-Binary für Linux, macOS und Windows, verpackt fürapt,brewund Docker über das offizielle cloudflared-Repository.
Das war's. Keine eingehende Firewall-Regel, keine Router-Konfiguration, kein öffentliches IPv4-Lease.
Methode 1: Der über das Dashboard verwaltete (remote-managed) Tunnel
Für die meisten ist das der schnellste Weg, und 2026 lenkt Cloudflare neue Nutzer hierher, weil die Konfiguration in der Cloud liegt statt in einer Datei, um die Sie sich kümmern müssen.
- Öffnen Sie das Zero-Trust-Dashboard (
one.dash.cloudflare.com) → Networks → Tunnels → Create a tunnel → wählen Sie Cloudflared. - Benennen Sie den Tunnel und kopieren Sie dann den Installationsbefehl, den Cloudflare erzeugt. Er enthält ein langes Token und sieht aus wie
sudo cloudflared service install <TUNNEL_TOKEN>. - Fügen Sie diesen Befehl auf Ihrem Server ein und führen Sie ihn aus. Er registriert einen
systemd-Dienst (oder unter macOS einenlaunchd-Job), startet beim Booten und startet nach einem Absturz neu. Zurück im Dashboard bedeutet ein grüner Status Healthy, dass die Verbindung steht. - Öffnen Sie den Tab Public Hostname → Add a public hostname. Legen Sie die Subdomain (
app), die Domain und den lokalen Dienst (http://localhost:8080) fest und klicken Sie auf Save. Cloudflare erstellt automatisch den CNAMEapp.yourdomain.com → <uuid>.cfargotunnel.com.
Rufen Sie https://app.yourdomain.com auf, und Sie liefern über HTTPS mit einem von Cloudflare ausgestellten Zertifikat aus. Ihr lokaler Server benötigt keinerlei TLS-Konfiguration.
Methode 2: Der über die CLI verwaltete (locally-managed) Tunnel
Wenn Sie Konfiguration als Code bevorzugen, alles in der Versionsverwaltung haben wollen oder mehrere Dienste durch einen Tunnel leiten, nutzen Sie den lokal verwalteten Workflow. Die folgenden Befehlsnamen sind die stabilen, dokumentierten cloudflared-Verben:
# 1. Diese Maschine authentifizieren (öffnet einen Browser zur Auswahl Ihrer Domain)
cloudflared tunnel login
# 2. Einen benannten Tunnel erstellen – schreibt eine credentials-.json und gibt eine UUID aus
cloudflared tunnel create my-tunnel
# 3. Einen Hostnamen auf den Tunnel zeigen lassen (erstellt den DNS-CNAME für Sie)
cloudflared tunnel route dns my-tunnel app.yourdomain.com
Beschreiben Sie anschließend Ihr Routing in ~/.cloudflared/config.yml:
tunnel: my-tunnel
credentials-file: /home/user/.cloudflared/<UUID>.json
ingress:
- hostname: app.yourdomain.com
service: http://localhost:8080
- hostname: files.yourdomain.com
service: http://localhost:80
- service: http_status:404 # erforderliche Catch-all-Regel, muss zuletzt stehen
Jede Konfigurationsdatei muss mit einer Catch-all-Regel enden (der Zeile http_status:404), sonst startet cloudflared nicht. Testen Sie sie im Vordergrund mit cloudflared tunnel run my-tunnel, und sobald sie funktioniert, installieren Sie sie als Dienst, damit sie Neustarts übersteht:
sudo cloudflared service install
sudo systemctl enable --now cloudflared
sudo systemctl status cloudflared # prüfen, ob er aktiv ist
sudo journalctl -u cloudflared -f # die Logs verfolgen
Dieser Ansatz passt sauber zu einem Self-Hosting-Stack; sehen Sie sich unseren Schritt-für-Schritt-Leitfaden zum Self-Hosting auf einem VPS an, um ihn neben Docker einzubinden.
Testen Sie es in 30 Sekunden mit einem Quick Tunnel
Bevor Sie sich auf all das festlegen, können Sie das Prinzip ganz ohne Konto und ohne DNS beweisen:
cloudflared tunnel --url http://localhost:8080
Dies gibt eine zufällige https://<words>.trycloudflare.com-URL aus, die direkt zu Ihrem lokalen Port führt und erlischt, sobald Sie den Prozess beenden. Sie ist ratenbegrenzt und für Demos, Webhook-Tests und „Kann eine Kollegin das gerade sehen?"-Momente gedacht – nicht für den Produktivbetrieb. Aber es ist der schnellste Weg, um zu bestätigen, dass Ihre App über Cloudflares Edge erreichbar ist.
Cloudflare Tunnel im Vergleich zu den Alternativen
Ein Tunnel ist nicht der einzige Weg, eine selbst gehostete App zu erreichen. So schneidet er 2026 im Vergleich zu den üblichen Optionen ab:
| Methode | Offene Ports? | Öffentliche IP nötig | Kosten | Am besten für |
|---|---|---|---|---|
| Cloudflare Tunnel | Nein | Nein | Kostenlos | Öffentliche Web-Apps hinter einer Domain |
| Port-Forwarding + Reverse Proxy | Ja | Ja | Kostenlos (+ Domain) | Volle Kontrolle, kein Dritter im Pfad |
| Tailscale / WireGuard | Nein | Nein | Kostenlose Stufe | Privater Zugriff nur für Sie und Ihr Team |
| ngrok | Nein | Nein | Kostenlose Stufe, kostenpflichtig für eigene Domains | Schnelle Demos, Dev-Webhooks |
| Statische IP + Firewall-Regeln | Ja | Ja | Aufpreis beim ISP | Legacy- oder Nicht-HTTP-Dienste |
Kurz gesagt: Wenn Sie etwas öffentlich unter Ihrer eigenen Domain mit einer verwalteten Edge davor erreichbar machen wollen, gewinnt ein Tunnel. Wenn nur Sie selbst den Server erreichen müssen, ist ein Mesh-VPN wie Tailscale einfacher und hält den Traffic Ende-zu-Ende privat.
Wann Sie einen Cloudflare Tunnel NICHT nutzen sollten
Tunnel sind hervorragend, aber sie sind nicht universell:
- Umfangreiche Nicht-HTML-Medien. Cloudflares Nutzungsbedingungen schränken das Ausliefern großer Mengen an Videos oder Datei-Downloads ein, die nicht Teil einer Website sind. Ein medienlastiger, selbst gehosteter Plex- oder Dateiserver kann daran stoßen; ein Reverse Proxy auf Ihrer eigenen IP umgeht die Frage.
- Cloudflare sieht Ihren Traffic. TLS endet an Cloudflares Edge, sie können Anfragen also technisch einsehen. Für die meisten Selbst-Hoster ist dieser Kompromiss in Ordnung; für Setups, die Dritten grundsätzlich nicht vertrauen, nicht.
- Sie brauchen eine Domain bei Cloudflare. Keine Domain oder DNS, das Sie nicht zu Cloudflare umziehen können, bedeutet, dass benannte Tunnel keine Option sind (Quick Tunnels funktionieren zum Testen weiterhin).
- Latenzempfindliche oder Nicht-HTTP-Protokolle können kniffliger sein und brauchen manchmal Cloudflares kostenpflichtiges Produkt Spectrum statt eines einfachen Tunnels.
Sperren Sie es mit Cloudflare Access ab
Eine App öffentlich verfügbar zu machen und sie zu authentifizieren, sind zwei verschiedene Aufgaben. Ein Tunnel übernimmt den Transport; um zu steuern, wer die App erreichen darf, setzen Sie Cloudflare Access vor denselben Hostnamen. Es stellt eine Login-Seite (Google, GitHub, einmaliger PIN per E-Mail) vor Ihre App, und Cloudflares Zero-Trust-Tarif ist für bis zu 50 Nutzer kostenlos. Für ein Admin-Dashboard oder eine Datenbank-UI wie die in unserem Leitfaden zum Self-Hosting von Supabase zählt dieses Login-Gate mehr als der Tunnel selbst.
Häufig gestellte Fragen
Kann ich Cloudflare Tunnel kostenlos nutzen?
Ja. Tunnel sind in jedem Cloudflare-Tarif enthalten, auch in der kostenlosen Stufe, ohne Begrenzung der Anzahl von Tunneln oder gerouteten Diensten. Sie brauchen nur eine (kostenpflichtige) Domain und ein kostenloses Cloudflare-Konto. Die Zero-Trust-Funktionen, die eine Authentifizierung hinzufügen, sind ebenfalls für bis zu 50 Nutzer kostenlos.
Was ist der Sinn eines Cloudflare Tunnels?
Er ermöglicht es einem Server, das öffentliche Internet zu erreichen, ohne eingehende Ports oder eine öffentliche IP freizugeben. Der Server wählt sich zu Cloudflare aus, und eingehende Anfragen gelangen über genau diese ausgehende Verbindung zurück. Sie erhalten HTTPS, DDoS-Schutz und eine verborgene Origin-IP, ohne Ihre Firewall oder Ihren Router anzufassen.
Kann ich Cloudflare Tunnel ohne Domain nutzen?
Für einen dauerhaften, benannten Tunnel nein – Sie brauchen eine Domain, deren DNS von Cloudflare verwaltet wird. Für Wegwerf-Tests können Sie einen Quick Tunnel ausführen (cloudflared tunnel --url ...), der Ihnen eine zufällige trycloudflare.com-URL ohne Domain und ohne Konto liefert.
Wofür kann man Cloudflare Tunnel verwenden?
Zum Veröffentlichen selbst gehosteter Apps (Dashboards, Wikis, Nextcloud, Homelab-Dienste), zum Verfügbarmachen eines lokalen Dev-Servers für Webhook-Tests, zum Bereitstellen von entferntem SSH- oder RDP-Zugriff über Cloudflare und um eine kostenlose, verwaltete Edge vor jeden HTTP-Dienst zu setzen, der auf von Ihnen kontrollierter Hardware läuft.
Sources
- Cloudflare — Cloudflare Tunnel documentation: was ein Tunnel ist, dass er ausschließlich ausgehend arbeitet und dass er im kostenlosen Tarif funktioniert.
- Cloudflare — Set up Cloudflare Tunnel: der Befehl
cloudflared service installund das Quick-Tunnel-Flag--url. - Cloudflare — Tunnel configuration file: Ingress-Regeln und die erforderliche Catch-all-Regel.
- Cloudflare — Cloudflare One / Zero Trust: Access-Authentifizierung vor einem Tunnel.
- GitHub — cloudflare/cloudflared: der Tunnel-Client, Installationspakete und unterstützte Plattformen.
Waqas Ahmed Waseer
Waqas Ahmed Waseer ist Entwickler und Automation-Builder mit über 8 Jahren Erfahrung im Aufbau von Produktivsystemen, die von mehr als 100.000 Menschen genutzt werden. Er baut individuelle Multi-Tenant-SaaS, KI-Automatisierung (n8n, LLM-Workflows, WhatsApp-Bots) und Hosting-Infrastruktur (WHM/cPanel, CloudLinux) — und ist der Macher von WaSphere, FlowMaticX und der Hosting-Marke WaseerHost. Über 100 Projekte für KMU, Agenturen und finanzierte Start-ups umgesetzt.



