Zum Inhalt springen
Belkis Aslani
Blog
21. Juli 2026 · 1 Min. Lesezeit

Cloudflare Tunnel statt Portfreigabe

Wie diese Seite ohne offenen Port im Router erreichbar ist — und welche Sicherheitseigenschaften man dabei gewinnt und abgibt.

CloudflareDeploymentSecurity

Diese Seite läuft auf einem Rechner hinter einem gewöhnlichen Privatanschluss. Im Router ist kein Port offen, es gibt keine feste IP-Adresse und trotzdem ist sie unter der eigenen Domain erreichbar.

Wie das funktioniert

cloudflared baut eine ausgehende, dauerhafte Verbindung zum Cloudflare-Netz auf. Anfragen an die Domain landen bei Cloudflare und werden durch diese bestehende Verbindung nach innen gereicht. Es gibt keinen eingehenden Verbindungsaufbau.

# cloudflared/config.yml
ingress:
  - hostname: it-handwerk-stuttgart.de
    service: http://app:3000
  - service: http_status:404

Was man gewinnt

  • Kein offener Port, keine Angriffsfläche am Router
  • Die Ursprungs-IP-Adresse steht nicht im DNS
  • TLS-Zertifikate laufen ohne eigenen ACME-Client
  • DDoS-Abwehr und Rate-Limiting liegen vor dem eigenen Rechner

Was man abgibt

Cloudflare terminiert TLS und sieht damit den Klartext des Datenverkehrs. Das ist keine Nebensächlichkeit, sondern die zentrale Abwägung: Für eine öffentliche Showcase-Seite ist es unkritisch, für ein System mit personenbezogenen Daten gehört diese Entscheidung dokumentiert und geprüft.

Dazu kommt eine Abhängigkeit von einem einzelnen Anbieter. Fällt Cloudflare aus, ist die Seite offline, obwohl der eigene Server läuft.

Echte Besucher-IP im Backend

Hinter dem Tunnel steht in X-Forwarded-For nicht mehr zwingend die Client-Adresse. Cloudflare setzt CF-Connecting-IP — darauf sollte sich das Rate-Limiting stützen:

const ip =
  request.headers.get('cf-connecting-ip') ??
  request.headers.get('x-forwarded-for')?.split(',')[0]?.trim() ??
  'unknown';

Fazit

Für selbst gehostete Projekte ohne feste IP ist der Tunnel die pragmatischste Lösung. Man sollte nur wissen, dass man Vertraulichkeit gegen Erreichbarkeit tauscht — und diese Entscheidung bewusst treffen.

Cloudflare Tunnel statt Portfreigabe — Belkis Aslani