Tous les articles
comparisonCloudflare Tunnellocalhost tunnelingopen source

PortPreview vs Cloudflare Tunnel : deux outils différents

Ce n'est pas vraiment un versus. Cloudflare Tunnel (cloudflared) et PortPreview vivent dans des pièces différentes. Cloudflare Tunnel maintient un service en ligne en permanence derrière le edge Cloudflare — Zero Trust, named tunnels, domaines custom. PortPreview est pour les vingt prochaines minutes de votre session dev — webhooks, mobile, partage de branche. Choisir entre les deux dépend du problème qu'on a vraiment.

Ce que Cloudflare Tunnel fait bien

cloudflared a été conçu pour mettre un service en ligne sans ouvrir de port entrant et sans exposer l'IP origine. Tourne sur un serveur, attache un named tunnel à un hostname sur votre domaine Cloudflare, et le trafic passe par le edge via une connexion sortante.

  • Routage prod. Named tunnels durables, hostname stable.
  • Politiques Zero Trust. SSO, MFA, allowlist IP.
  • Domaines custom. Votre domaine, pas un sous-domaine vendor.
  • WARP. Accès aux services privés depuis n'importe quel device Cloudflare.

Aucune de ces choses ne concerne le debug webhook.

Là où Cloudflare Tunnel se complique en dev

Le mode quick tunnel (cloudflared tunnel --url localhost:3000) est le plus proche d'un outil dev. Il fonctionne. URL *.trycloudflare.com. Mais :

  • L'URL change à chaque session.
  • Pas d'inspecteur de requêtes. Vous voyez les logs de votre dev server et rien de plus.
  • Setup pour named tunnels (URL stable) : compte Cloudflare, DNS, fichier config. Justifié pour un service durable, surdimensionné pour itérer sur un webhook.

Où PortPreview s'inscrit

PortPreview est un CLI tunneling localhost pour la boucle dev. Une commande, URL HTTPS publique, capture et rejeu inclus.

npx portpreview 3000

Ce qu'on optimise : le moment entre "j'ai changé mon handler Stripe" et "je sais si ça marche". Ce moment doit durer des secondes.

Comparaison directe

BesoinCloudflare TunnelPortPreview
Session rapide debug webhookPossible (quick tunnel)Conçu pour
Capture et rejeu de requêtesNonOui
Hostname stableOui (avec setup)Pas le focus
Domaine customOuiSous-domaine tunnel
Politique Zero TrustOuiNon
Complexité setupFaible pour quick, moyenne pour namedUne commande
Tourne en service durableOuiConçu pour sessions
Client open sourceOui (cloudflared)Oui

Quand utiliser quoi

Cloudflare Tunnel quand

  • Service 24/7 sans port ouvert.
  • Accès SSO à un outil interne.
  • URL stable avec domaine custom et cert CA.
  • Déjà sur Cloudflare, coût marginal faible.

PortPreview quand

  • Itération sur un handler webhook avec rejeu en un clic.
  • Partage d'une branche à un designer dix minutes.
  • Test OAuth ou mobile sans setup DNS.
  • Pas envie de gérer un compte Cloudflare juste pour tester un événement Stripe.

Ils cohabitent

Plusieurs équipes utilisent les deux. Cloudflare Tunnel pour l'outil interne always-on avec SSO. PortPreview pour le debug webhook quotidien avec rejeu. Aucun conflit.

Voir aussi PortPreview vs ngrok et PortPreview vs localtunnel. Rejoignez la waitlist PortPreview.

Questions fréquentes

Cloudflare Tunnel remplace-t-il PortPreview ?
Pas vraiment. Cloudflare Tunnel optimise pour maintenir un service en ligne via le edge Cloudflare — named tunnels, domaines custom, Zero Trust. PortPreview optimise pour la boucle dev — sessions en une commande avec capture et rejeu. Problèmes différents, cohabitation possible.
Cloudflare Tunnel supporte-t-il l'inspection des requêtes webhook ?
Pas nativement. cloudflared forwarde sans inspecteur intégré. Pour inspecter ou rejouer les webhooks il faut ajouter un proxy ou logger séparé. PortPreview inclut capture et rejeu dans le CLI.
Peut-on utiliser Cloudflare Tunnel pour des sessions dev rapides ?
Oui, via le mode quick tunnel (cloudflared tunnel --url localhost:3000). Suffisant pour l'exposition basique mais sans inspection, rejeu, ni URL stable sans setup named tunnel additionnel.