Alle Artikel
comparisonCloudflare Tunnellocalhost tunnelingopen source

PortPreview vs. Cloudflare Tunnel: unterschiedliche Tools

Das ist eigentlich kein Versus. Cloudflare Tunnel (cloudflared) und PortPreview wohnen in verschiedenen Räumen. Cloudflare Tunnel hält einen Dienst dauerhaft online hinter Cloudflares Edge — Zero Trust, Named Tunnels, Custom Domains. PortPreview ist für die nächsten zwanzig Minuten deiner Dev-Session — Webhook-Testing, Mobile-QA, eine Branch mit einer Designerin teilen. Die Wahl zwischen beiden hängt meist davon ab, welches Problem du tatsächlich hast.

Worin Cloudflare Tunnel gut ist

cloudflared wurde für eine Sache gebaut: einen Dienst ins Internet zu stellen, ohne einen einzigen eingehenden Port zu öffnen und ohne deine Origin-IP zu exponieren. Lass es auf einem Server laufen, hänge einen Named Tunnel an einen Hostnamen deiner Cloudflare-Domain, und Traffic fließt über Cloudflares Edge zu deinem Origin über eine ausgehende Verbindung, die deine Maschine initiiert hat.

Dinge, die es gut macht:

  • Produktions-Routing. Das Named-Tunnel-Feature ist langlebig. Du kannst cloudflared als Dienst laufen lassen, und der Hostname funktioniert über Neustarts hinweg weiter.
  • Zero-Trust-Zugriffsrichtlinien. Schütze den Tunnel hinter SSO, MFA oder IP-Allowlists für die Freigabe interner Tools.
  • Custom Domains. Bring deine eigene Domain auf Cloudflare. Der Tunnel terminiert bei deine-domain.com, nicht bei einer Anbieter-Subdomain.
  • WARP-Routing. Erreiche private Dienste von jedem Gerät im Cloudflare-Netz ohne VPN-Setup.

Nichts davon dreht sich um Webhook-Debugging.

Wo Cloudflare Tunnel fürs Dev umständlich wird

Der Quick-Tunnel-Modus (cloudflared tunnel --url localhost:3000) ist das Nächste, was cloudflared einem Dev-Tool kommt, und er funktioniert. Du bekommst eine *.trycloudflare.com-URL, die auf deinen lokalen Port zeigt. Aber:

  • Die URL rotiert jede Session, wie die meisten Dev-Tunnel.
  • Es gibt keinen eingebauten Request-Inspektor. Du siehst, was dein Dev-Server loggt, und nicht mehr. Eine Webhook-Payload zum späteren Replay zu erfassen erfordert das Anflanschen eines separaten Proxys oder Loggers.
  • Das Setup für Named Tunnels (die Stable-URL-Version) erfordert einen Cloudflare-Account, DNS-Records und eine Config-Datei. Lohnt sich für einen langlebigen Dienst; übertrieben für eine Webhook-Iterationssession.

Wo PortPreview passt

PortPreview ist eine localhost-Tunneling-CLI für die Dev-Schleife. Ein Befehl, öffentliche HTTPS-URL, Request-Capture und -Replay eingebaut.

npx portpreview 3000

Worauf wir optimieren, ist der Moment zwischen „Ich habe meinen Stripe-Webhook-Handler geändert" und „Ich weiß, ob er funktioniert". Dieser Moment sollte Sekunden dauern. Erfasse die Payload, fixe den Handler, replaye, bis es grün ist, alles ohne das Upstream-Event neu auszulösen.

Direkter Vergleich

BedarfCloudflare TunnelPortPreview
Schnelle Session für Webhook-DebuggingMöglich (Quick Tunnel)Dafür gebaut
Request-Capture und -ReplayNeinJa
Stabiler Named-HostnameJa (mit Setup)Nicht der Standard-Fokus
Custom DomainJaTunnel-Subdomain
Zero-Trust-ZugriffsrichtlinieJaNein
Setup-KomplexitätNiedrig für Quick, mittel für NamedEin Befehl
Dauerhaft als Dienst laufenJaFür Sessions konzipiert
Open-Source-ClientJa (cloudflared)Ja

Wann welches nutzen

Nutze Cloudflare Tunnel, wenn

  • Du einen Dienst 24/7 online brauchst, ohne Firewall-Ports zu öffnen.
  • Du SSO-gesicherten Zugriff auf ein internes Dashboard oder Admin-Tool willst.
  • Du eine stabile Custom-Domain-URL brauchst, gestützt auf ein echtes CA-Zertifikat und dein bestehendes Cloudflare-DNS.
  • Du bereits auf Cloudflare bist und die marginalen Setup-Kosten gering sind.

Nutze PortPreview, wenn

  • Du an einem Webhook-Handler iterierst und Ein-Klick-Replay willst.
  • Du eine Branch zehn Minuten lang mit einer Designerin teilen willst.
  • Du OAuth-Callbacks oder Mobile-Flows ohne DNS-Setup testest.
  • Du keinen Cloudflare-Account verwalten willst, nur um ein Stripe-Event zu testen.

Sie koexistieren problemlos

Mehrere Teams, mit denen wir gesprochen haben, nutzen beide. Cloudflare Tunnel für das Always-on-Internal-Tool, das eine feste URL und SSO braucht. PortPreview für das tägliche Webhook-Debugging, das Replay und einen einzigen Befehl braucht. Sie kollidieren nicht — sie bedienen einfach unterschiedliche Teile des Dev-to-Prod-Bogens.

Wenn du auch ngrok oder localtunnel abwägst, sind diese Vergleiche womöglich direkter relevant. Tritt der PortPreview-Warteliste bei für die Dev-Loop-Seite.

Häufig gestellte Fragen

Ist Cloudflare Tunnel ein Ersatz für PortPreview?
Nicht wirklich. Cloudflare Tunnel optimiert darauf, einen Dienst mit Cloudflares Edge dauerhaft online zu halten — Named Tunnels, Custom Domains, Zero Trust. PortPreview optimiert auf die Dev-Schleife — Ein-Befehl-Sessions mit Request-Capture und -Replay. Sie lösen verschiedene Probleme und koexistieren problemlos.
Unterstützt Cloudflare Tunnel Webhook-Request-Inspektion?
Nicht nativ. cloudflared forwardet Traffic ohne eingebauten Request-Inspektor. Um Webhooks zu inspizieren oder zu replayen, müsstest du einen separaten Proxy oder eine Logging-Schicht anflanschen. PortPreview enthält Capture und Replay in der CLI.
Kann ich Cloudflare Tunnel für schnelle Dev-Sessions nutzen?
Ja, über den Quick-Tunnel-Modus (cloudflared tunnel --url localhost:3000). Brauchbar für grundlegende Freigabe, aber ohne Request-Inspektion, Replay oder eine stabile URL ohne zusätzliches Named-Tunnel-Setup.