Guide de configuration du proxy inverse Cloudflare Tunnel avec cloudflared dans ServBay
Cloudflare Tunnel (anciennement Argo Tunnel) est un service de proxy inverse à zéro confiance proposé par Cloudflare, permettant d'exposer en toute sécurité les services locaux sans avoir à ouvrir des ports publics. Ce guide vous guidera à travers la création d'un tunnel sécurisé avec cloudflared dans l'environnement ServBay, pour un accès à Internet aux services locaux.
Principe technique
Cloudflare Tunnel établit une connexion sortante cryptée (basée sur le protocole QUIC) pour connecter les services locaux en toute sécurité aux nœuds en périphérie de Cloudflare. Cette solution contourne complètement la nécessité de traverser le NAT et ne nécessite pas de configuration des règles de pare-feu, tout en intégrant les fonctionnalités de protection DDoS et de pare-feu pour applications Web (WAF) de Cloudflare.
Préparation de l'environnement
1. Installer le client cloudflared
Système macOS (architecture ARM) :
# Télécharger le fichier binaire
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-darwin-amd64.tgz | tar xz
sudo mv cloudflared /usr/local/bin/
2
3
Vérifier l'installation :
cloudflared --version
# cloudflared version 2024.5.0 (built 2024-05-01)
2
2. Se connecter à votre compte Cloudflare
cloudflared tunnel login
Une fois exécuté, il ouvrira automatiquement le navigateur pour autoriser la gestion du nom de domaine souhaité.
Mise en pratique de la configuration du tunnel
Processus de configuration de base
- Créer un tunnel
cloudflared tunnel create servbay-tunnel
# Exemple de sortie : Created tunnel servbay-tunnel with id xxxx-xxxx-xxxx
2
- Configurer les enregistrements DNS
cloudflared tunnel route dns servbay-tunnel servbay-tunnel.votredomaine.com
- Rédiger le fichier de configuration
Créez~/.cloudflared/config.yml
:
tunnel: <TUNNEL_ID>
credentials-file: /path/to/credentials.json
ingress:
- hostname: servbay-tunnel.votredomaine.com
service: https://servbay.local
originRequest:
noTLSVerify: true # Activer pour ignorer la vérification des certificats locaux
- service: http_status:404 # Règle de repli par défaut
2
3
4
5
6
7
8
9
Démarrer le service de tunnel
cloudflared tunnel run servbay-tunnel
Vérification du service
- Accédez au nom de domaine configuré :
https://servbay-tunnel.votredomaine.com
- Points de vérification :
- Le contenu affiché doit correspondre à celui du service local.
- La barre d'adresse du navigateur doit afficher un certificat SSL valide émis par Cloudflare.
- Les en-têtes de réponse doivent contenir l'identifiant
CF-RAY
.
Petits conseils de configuration avancée
Routage de plusieurs services
ingress:
- hostname: api.votredomaine.com
service: https://api.local
- hostname: app.votredomaine.com
service: https://app.local
2
3
4
5
Surveillance du trafic
# Voir les indicateurs en temps réel
cloudflared tunnel info servbay-tunnel
# Obtenir des journaux détaillés
cloudflared tunnel logs servbay-tunnel
2
3
4
5
Dépannage
Phénomène | Solution |
---|---|
502 Bad Gateway | Vérifiez si le service local est en cours d'exécution et si l'adresse du service dans la configuration du tunnel est correcte. |
Erreur de résolution DNS | Vérifiez si le CNAME des enregistrements DNS pointe correctement (doit être <UUID>.cfargotunnel.com ). |
Échec de la vérification du certificat | Assurez-vous que le hostname dans config.yml correspond au nom de domaine du certificat et vérifiez la chaîne de certificats locaux. |
Avantages de la solution
Avec la solution Cloudflare Tunnel, les utilisateurs de ServBay peuvent bénéficier de :
- Protection de niveau entreprise : Protection intégrée contre les DDoS et WAF.
- Aucune exposition de port : Pas besoin de configurer des règles de pare-feu ou de NAT.
- Routage intelligent : Optimisation de la vitesse d'accès via le réseau Anycast mondial de Cloudflare.
- Quota gratuit : Le forfait gratuit inclut 50 tunnels actifs par mois.
Il est recommandé d'implémenter des contrôles d'accès granulaires avec des stratégies Access dans un environnement de production pour garantir la sécurité des services.