Introduction
Dans un précédent article, nous avons exploré les fondamentaux de Cloudflare et entrevu l’étendue de ses possibilités. Aujourd’hui, concentrons-nous sur une de ses fonctionnalités les plus impressionnantes : Cloudflare Tunnel — une solution puissante et élégante à un besoin pourtant très courant.
Imaginez : vous êtes développeur ou développeuse, et vous souhaitez présenter votre projet web à un cercle restreint — amis, collègues, proches.
Mais rapidement, vous vous heurtez à un dilemme : transporter votre machine pour faire une démo en direct, ou déployer le projet sur un VPS, avec nom de domaine, pare-feu, DNS, configuration HTTPS… Bref, une usine à gaz.
Et si une seule commande suffisait pour exposer instantanément votre serveur local sur Internet, de façon sécurisée, sans ouvrir aucun port ?
Trop beau pour être vrai ? Pas avec Cloudflare Tunnel.
Voyons ensemble comment cette solution peut transformer radicalement votre façon de partager vos projets web — en quelques secondes chrono.
Cloudflare Tunnel, la réponse !
1. Aucun port ouvert, aucune IP publique exposée
Cloudflare Tunnel fonctionne exclusivement avec des connexions sortantes sécurisées. Cela signifie qu’il n’est jamais nécessaire d’ouvrir un port ou d’exposer une adresse IP publique. Le serveur local reste totalement invisible depuis Internet, ce qui élimine une grande partie des risques liés aux scans et aux attaques automatisées.
2. Fonctionne partout, même dans les environnements verrouillés
Le Tunnel est capable de traverser des environnements complexes comme les CG-NAT, les réseaux d’entreprise restreints, ou encore les connexions 4G/5G. Il suffit d’avoir un accès sortant — Cloudflare Tunnel s’occupe du reste.
3. Sécurité intégrée avec les mécanismes Zero Trust
Chaque requête entrant via un tunnel peut être soumise à une authentification Zero Trust native : SSO, double authentification, restrictions par géolocalisation ou par appareil, journalisation des accès… tout cela sans configuration locale. Le contrôle d’accès est géré depuis l’interface Cloudflare.
4. Déploiement rapide et sans friction
L’installation du binaire cloudflared
suffit pour lancer un tunnel. Une fois authentifié, une commande permet de créer et d’exposer un service local en quelques secondes. Le certificat TLS est généré automatiquement, et le tunnel est opérationnel immédiatement.
5. Résilience et haute disponibilité natives
cloudflared
établit plusieurs connexions simultanées vers l’infrastructure Cloudflare, garantissant une disponibilité continue même en cas de coupure partielle. En cas de redémarrage, le tunnel se reconnecte automatiquement.
6. Toutes les fonctions essentielles en un seul outil
Avec Cloudflare Tunnel, pas besoin de configurer un reverse proxy, un certificat SSL, une redirection HTTPS ou des règles de pare-feu complexes. Le tunnel encapsule toutes ces fonctions dans un outil unique, managé et robuste, adapté aussi bien aux tests locaux qu’à la production sécurisée.
Conclusion : Cloudflare Tunnel n’est pas un gadget. C’est une réponse directe, pensée pour les développeurs et techniciens qui veulent exposer un service local de manière sécurisée, rapide, sans compromis sur la sécurité ni la simplicité.
Le projet test : Symfony, Turbo et Cloudflare Tunnel
Comme souvent ici, on part sur du Symfony — du pur PHP bien structuré. Pour ce test, j’ai opté pour une stack moderne et rapide à mettre en place, avec une attention particulière à la compatibilité avec Cloudflare Tunnel.
Stack utilisée :
- Symfony 7 avec AssetMapper pour la gestion des assets frontend
- Pines UI : une librairie de composants UI basée sur Tailwind CSS et Alpine.js
- Stimulus.js & Turbo : présents nativement dans Symfony 7, parfaits pour dynamiser sans surcharger
- SQLite : une base SQL légère directement en racine du projet, zéro config, démarrage instantané
Le but est simple : avoir un POC fonctionnel avec quelques routes, un formulaire et une logique de soumission pour simuler une application web réaliste. L’objectif est de vérifier le comportement via Tunnel : HTTPS, certificats, redirection, protection Zero Trust… tout y passe.
Une fois le projet prêt, il suffit d’intégrer cloudflared
, créer un tunnel, et exposer le tout au monde — de manière sécurisée, bien entendu.
Cloudflare Tunnel : vraiment gratuit ?
Oui, mais avec des limites bien définies
Cloudflare Tunnel est gratuit, mais dans un cadre bien précis. Il s’agit en réalité d’un freeware fonctionnel : parfait pour les développeurs, les tests locaux et les usages personnels — à condition de respecter les limites d’utilisation.
Cas n°1 — Usage personnel ou développement
✅ Inclus gratuitement | 📌 Détails |
---|---|
Création illimitée de tunnels | Aucun quota imposé pour les projets locaux |
Utilisation via cloudflared | Interface CLI ou Zero Trust dashboard |
Certificats HTTPS automatiques | Gérés par Cloudflare, sans intervention |
Routage DNS via un sous-domaine Cloudflare | Ex : monprojet.cloudflare.dev |
Sécurité DDoS & WAF de base | Activée automatiquement sur tous les tunnels |
🔧 Idéal pour : tests, démonstrations, side-projects, accès à son homelab.
Cas n°2 — Usage professionnel ou exposition publique
🟠 Fonctionnalité | 🔐 Condition |
---|---|
Authentification renforcée (Zero Trust policies avancées) | Compte lié à un moyen de paiement |
Accès par domaine personnalisé | Carte bancaire requise (même sans facturation immédiate) |
Journalisation enrichie & Logpush | Disponible sur plan Pro ou supérieur |
SLA, support prioritaire | Réservé aux plans Business/Enterprise |
📎 En clair : si vous exposez un service en production ou à des utilisateurs finaux, préparez un environnement facturable.
Et mon domaine personnalisé ?
Oui, vous pouvez connecter votre propre domaine (ex : app.monsite.com
) à un tunnel Cloudflare.
Mais dès que vous sortez du domaine *.trycloudflare.com
, une vérification de compte avec carte bancaire devient nécessaire, même sans facturation immédiate.
Conclusion
- 👨💻 Pour le dev et les projets persos → Cloudflare Tunnel est 100 % gratuit, simple et puissant.
- 🏢 Pour un usage pro ou public → c’est toujours gratuit en apparence, mais certaines fonctions avancées exigent un compte vérifié avec CB.
Exposer Symfony avec Cloudflare Tunnel sans nom de domaine
Si vous ne souhaitez pas (encore) utiliser un nom de domaine personnalisé, Cloudflare propose une option ultra-rapide : le mode TryCloudflare. En une seule commande, vous obtenez une URL publique en HTTPS, automatiquement générée et protégée.
1. Lancer Symfony en local
Assurez-vous que votre serveur Symfony est bien lancé :
symfony server:start
# ou
php -S localhost:8000 -t public
2. Exposer en ligne avec TryCloudflare
cloudflared tunnel --url http://localhost:8000
💡 Cette commande :
- établit un tunnel HTTPS sécurisé entre votre machine et Cloudflare,
- génère une URL publique aléatoire du type
https://randomname.trycloudflare.com
, - fonctionne sans authentification, ni configuration DNS.
🔎 Exemple de sortie
Your quick Tunnel has been created!
https://plausible-starfish.trycloudflare.com
📎 Cette URL est accessible à tous, tant que le tunnel est actif dans le terminal.
🔐 Limitations de TryCloudflare
🚫 Limite | 🔍 Détail |
---|---|
Pas de contrôle sur l’URL | Générée aléatoirement à chaque exécution |
Pas d’accès aux règles Zero Trust | L’authentification avancée n’est pas disponible |
Pas de logs ni d’alertes | Usage purement temporaire |
Durée de vie du tunnel | Le tunnel se ferme à l’arrêt de cloudflared |
🎯 Conclusion : si vous avez juste besoin de montrer rapidement un projet Symfony local à quelqu’un, TryCloudflare est la méthode la plus simple et rapide. Pour des usages réguliers ou pro, passer à un domaine personnalisé reste recommandé.
Cet article t’a plu ?
Bien sur comme on parle de Cloudflare on pourrait aller plus loin mais l’idée est de comprendre le besoin et la solution proposé par Cloudflare. Dans la suite on va s’attaquer a Cloudflare Access pour une sécurité accru !
Laisser un commentaire