Cloudflare Tunnel vs ngrok - quel tunnel HTTPS en 2026 ?
ngrok part de "3 minutes pour une URL publique", Cloudflare Tunnel de "gratuit mais il faut un domaine". Pour dev vs production vs self-hosting, la bonne réponse change. Guide pratique sans les tableaux marketing polis.
Voir le comparatifCloudflare Tunnel vs ngrok - les faits
| Cloudflare Tunnel | ngrok | |
|---|---|---|
| Coût (usage typique) | Gratuit + domaine (~9 EUR/an) | Gratuit : 1 tunnel, URL aléatoire ; Hobbyist : 10 USD/mois pour URL stable |
| URL stable entre redémarrages | Oui (votre domaine) | Plan payant uniquement - gratuit fait tourner l'URL à chaque lancement |
| Temps de mise en place | 20-30 min (compte CF, domaine, tunnel, DNS) | 3 min (signup, ngrok http 8080, fini) |
| Inspection trafic (debug) | Logs du dashboard CF (pas de body) | UI web ngrok (full request inspection - replay request) |
| Limites trafic / RPS | Aucune limite en gratuit pour HTTP/HTTPS | Gratuit : 40 req/min ; payant : illimité |
| Idéal pour | Production, self-hosting, smart home | Dev/tests webhooks, démos, présentations |
5 scénarios où CF Tunnel gagne
Production - service stable 24/7
CF Tunnel a été conçu comme reverse proxy de production : URL stable sur votre domaine, SSL Let's Encrypt automatique, protection DDoS intégrée, pas de rate limit pour HTTP. ngrok gratuit fait tourner les URLs à chaque redémarrage - inutilisable en production. ngrok payant marche, mais 10 USD/mois + votre temps de config > CF Tunnel gratuit.
Self-hosting (HA, Jellyfin, Nextcloud) avec domaine
Cas classique de home-lab : vous voulez `ha.maison.fr` au lieu de `random123.ngrok.io`. CF Tunnel le donne pour ~9 EUR/an (le domaine), le ngrok payant le moins cher (Hobbyist) 10 USD/mois = 120 USD/an. Après 12 mois, l'écart paye un nouveau Raspberry.
Portée globale - 200+ PoP
Cloudflare exploite un des plus grands réseaux edge. Votre panel HA est mis en cache près de chaque visiteur - le cousin aux US voit la page en 30 ms au lieu de 150 ms direct. ngrok a moins d'edges (US, EU, Asie) - portée significativement plus petite. Pour des utilisateurs mondialement distribués, l'écart est évident.
Cloudflare Access (SSO zero-trust avant le service)
CF Access offre gratuitement (jusqu'à 50 utilisateurs) du SSO Google/GitHub/Okta AVANT que le trafic atteigne HA/Jellyfin. ngrok offre une fonction OAuth similaire mais la facture par utilisateur final authentifié, et plusieurs sièges demandent Pay-as-you-go. Pour les self-hosters voulant une couche de sécurité supplémentaire, CF gagne en prix et en profondeur.
Plusieurs services sur un domaine
CF Tunnel route par SNI/host : `ha.maison.fr` → 192.168.1.10:8123, `jellyfin.maison.fr` → 192.168.1.10:8096, `files.maison.fr` → 192.168.1.20:80. Tout depuis un démon cloudflared, une config. ngrok exige un tunnel séparé par service - gratuit plafonne à 1, payant facture par tunnel supplémentaire.
5 scénarios où ngrok est meilleur
Dev / tests de webhooks
Vous construisez une intégration Stripe/GitHub/Slack et avez besoin d'une URL publique pour voir ce qui arrive. `ngrok http 3000` - 3 secondes et l'URL est prête. Plus l'UI web ngrok montre chaque requête avec body, headers, replay - debugger des webhooks sans ngrok est douloureux. CF Tunnel ici est overkill (et plus lent à monter).
Présentations / démos d'une app locale
Montrer un prototype à un investisseur sur un autre continent. `ngrok http 8000` - lien marche en 3 secondes, dure pour la démo. Après l'appel vous tuez ngrok et l'URL disparaît - propre. Monter CF Tunnel + DNS pour une session de 30 min à usage unique est de la gymnastique inutile.
App locale SANS enregistrer un domaine
Vous n'avez pas de domaine et n'en achèterez pas pour un petit projet. ngrok donne une URL gratuite `random.ngrok-free.app` - peut-être moche, mais ça marche. CF Tunnel exige ABSOLUMENT un domaine sur CF DNS. Pour les projets rapides, ngrok n'a pas de vraie alternative.
Replay request - tester l'idempotence
L'UI inspect de ngrok permet de replayer n'importe quelle requête en un clic - inestimable pour tester l'idempotence des webhooks, la logique de retry, la validation de signature. CF Tunnel ne propose pas ça - logs uniquement. Pour le dev d'intégrations async, ngrok est le défaut.
Tunnels TCP / UDP (pas seulement HTTP)
ngrok supporte les tunnels TCP/UDP en plan payant - SSH, RDP, jeux. CF Tunnel gère TCP mais uniquement via `cloudflared access tcp` côté client (pas comme URL publique). Pour "laisser un ami rejoindre mon serveur Minecraft ce soir" - ngrok TCP, un clic.
Pour le self-hosting smart home
Si votre cas est "je veux que la famille/clients atteignent HA/Jellyfin/Nextcloud depuis une URL simple", SmartHomeEntry est construit exactement pour ce scénario. Sous-domaine court `votre-maison.smarthomeentry.com` (comme ngrok mais stable), pas d'achat de domaine nécessaire (comme ngrok gratuit), agent outbound-only avec policy firewall-friendly (comme CF Tunnel), facturation localisée UE. Pour le dev de webhooks, ngrok reste le meilleur. Pour la production avec votre marque - CF Tunnel. Pour 1-3 installations smart home sans jongler avec les domaines - c'est nous.
Questions fréquentes
Non. L'URL change à chaque redémarrage du démon ngrok, donc après un reboot Raspberry vous devriez envoyer une nouvelle adresse à tout le monde. Plus la limite 40 req/min. Pour la production maison, choisissez soit CF Tunnel (gratuit avec votre domaine) soit SmartHomeEntry (URL courte sans domaine).
Oui : (1) Votre domaine doit être enregistré ou migré vers CF DNS (changement NS). (2) Les ToS de Cloudflare restreignent techniquement le streaming vidéo non-HTML5 via leur CDN - les flux transcodés Jellyfin touchent parfois cette règle, mais l'application est rare en pratique. (3) Les connexions WebSocket ont des timeouts différents du direct.
Oui, deux : (1) L'agent ngrok marche depuis des firewalls très restrictifs (HTTPS-only outbound), tandis que CF cloudflared attend 7844/tcp. (2) ngrok a un gateway SSH natif - `ssh [email protected]` comme proxy. CF n'a pas d'équivalent out-of-the-box.
Les deux ont eu des incidents. CF Tunnel : 2022 fuite de trafic confidentiel pour un petit groupe de clients (3h), patché. ngrok : 2020 problème d'énumération d'utilisateurs. Les deux réagissent vite et ont des bug bounties. Pour usage maison risque comparable - le risque plus grand reste un mot de passe faible dans le service (admin HA) plutôt que dans le tunnel.
CF Tunnel : Cloudflare a un DPA, certifié EU-US Data Privacy Framework, l'Enterprise peut imposer du routing EU-only. ngrok : siège aux US, DPA sur demande, contrôle géographique moins granulaire. Pour les petits self-hosters la différence est académique ; pour les entreprises UE, CF est mieux documenté.
Voir d'autres comparaisons

URL courte sans setup de domaine et sans 10 USD/mois
SmartHomeEntry combine le quick-start de ngrok (installation agent en une commande curl) avec la stabilité de CF Tunnel (URL stable pendant des années). Essai 7 jours pour 2 EUR.