Lorsque vous utilisez Cloudflare comme CDN/proxy, vos visiteurs se connectent aux serveurs edge de Cloudflare. Mais qu’en est-il de la connexion entre Cloudflare et votre serveur d’origine ? Sans certificat sur votre origine, cette connexion peut être non chiffrée — annulant tout l’intérêt du HTTPS.
Modes SSL de Cloudflare expliqués
| Mode | Visiteur → Cloudflare | Cloudflare → Origine | Sécurité |
|---|---|---|---|
| Désactivé | HTTP | HTTP | ❌ Aucun chiffrement |
| Flexible | HTTPS ✅ | HTTP ❌ | ⚠️ Faux sentiment de sécurité |
| Full | HTTPS ✅ | HTTPS (non vérifié) | ⚠️ Chiffré mais pas de validation du certificat |
| Full (Strict) | HTTPS ✅ | HTTPS (vérifié) ✅ | ✅ Recommandé |
“Flexible” est dangereux. Vos visiteurs voient un cadenas, mais la connexion Cloudflare→origine est en HTTP non chiffré. N’importe qui sur ce chemin réseau peut lire le trafic. Utilisez toujours Full (Strict).
Configurer Full (Strict) avec un certificat Let’s Encrypt
La meilleure approche : installez un vrai certificat publiquement reconnu sur votre origine et activez Full (Strict).
Étape 1 : Obtenir un certificat Let’s Encrypt
Utilisez GetHTTPS pour obtenir un certificat gratuit pour votre domaine. Vous devez temporairement désactiver le proxy Cloudflare (nuage gris dans les paramètres DNS) pour que le challenge HTTP-01 atteigne votre origine, ou utilisez DNS-01 qui fonctionne dans tous les cas.
Méthode DNS-01 (aucun changement de proxy nécessaire) :
- Dans GetHTTPS, choisissez le challenge DNS-01
- Ajoutez l’enregistrement TXT
_acme-challengedans le DNS Cloudflare - Vérifiez et téléchargez le certificat
Méthode HTTP-01 :
- Dans le DNS Cloudflare, cliquez sur le nuage orange → nuage gris (DNS uniquement) pour votre domaine
- Complétez le challenge HTTP-01 dans GetHTTPS
- Après avoir obtenu le certificat, réactivez le nuage orange (proxied)
Étape 2 : Installer sur votre serveur d’origine
Installez le certificat sur Nginx ou Apache normalement.
Étape 3 : Activer Full (Strict) dans Cloudflare
- Allez dans le tableau de bord Cloudflare → votre domaine
- SSL/TLS → Vue d’ensemble
- Sélectionnez Full (Strict)
Cloudflare vérifiera désormais que votre origine possède un certificat valide et reconnu avant de se connecter.
Alternative : Certificat Origin CA de Cloudflare
Cloudflare propose ses propres certificats Origin CA — des certificats gratuits qui ne sont reconnus que par Cloudflare, pas directement par les navigateurs.
Comment en obtenir un
- Tableau de bord Cloudflare → SSL/TLS → Serveur d’origine
- Cliquez sur Créer un certificat
- Choisissez le type de clé (RSA ou ECDSA) et la validité (jusqu’à 15 ans)
- Téléchargez le certificat et la clé privée
- Installez sur votre serveur d’origine
Avantages et inconvénients par rapport à Let’s Encrypt
| Cloudflare Origin CA | Let’s Encrypt (via GetHTTPS) | |
|---|---|---|
| Reconnu par | Cloudflare uniquement | Tous les navigateurs (publiquement reconnu) |
| Validité | Jusqu’à 15 ans | 90 jours |
| Renouvellement automatique nécessaire | Non (longue validité) | Oui (tous les 60-90 jours) |
| Fonctionne sans Cloudflare | ❌ | ✅ |
| Accès direct par navigateur | ❌ (affiche une erreur) | ✅ |
| Coût | Gratuit | Gratuit |
Utilisez Cloudflare Origin CA si votre origine est toujours derrière Cloudflare et que vous ne voulez aucune gestion de renouvellement.
Utilisez Let’s Encrypt si vous pourriez contourner Cloudflare (maintenance, migration), si vous avez besoin d’un accès direct à votre origine, ou si vous voulez un certificat qui fonctionne partout.
Vérifier que Full (Strict) fonctionne
Après la configuration, testez que la connexion est entièrement chiffrée :
- Tableau de bord Cloudflare → SSL/TLS → Vue d’ensemble devrait afficher “Full (Strict)”
- Visitez votre site → le cadenas devrait afficher le certificat de Cloudflare aux visiteurs
- Vérifier l’origine directement (en contournant Cloudflare) :
Cela devrait renvoyer une réponse HTTPS valide avec votre certificat Let’s Encrypt (ou Origin CA).curl -I --resolve yourdomain.com:443:YOUR_ORIGIN_IP https://yourdomain.com
Questions fréquemment posées
Pourquoi ne pas simplement utiliser le mode Flexible ?
Le mode Flexible chiffre la connexion visiteur→Cloudflare mais envoie le trafic de Cloudflare vers votre origine en HTTP non chiffré. Cela signifie :
- Votre FAI, hébergeur, ou quiconque sur le réseau entre l’edge de Cloudflare et votre serveur peut lire tout le trafic
- Vos visiteurs voient un cadenas et pensent être en sécurité, mais la connexion backend ne l’est pas
- C’est particulièrement dangereux pour les pages de connexion, les formulaires de paiement, ou toute donnée sensible
Mon certificat d’origine doit-il correspondre exactement à mon domaine ?
Pour le mode Full (Strict), oui — le certificat d’origine doit être valide pour le domaine auquel Cloudflare se connecte. Un certificat Let’s Encrypt pour example.com fonctionnera. Un certificat auto-signé ou un certificat pour un domaine différent ne fonctionnera pas.
Puis-je utiliser un certificat d’origine wildcard ?
Oui. Un certificat wildcard pour *.example.com sur votre origine fonctionne avec Full (Strict) pour tout sous-domaine proxied via Cloudflare.
Que se passe-t-il si mon certificat d’origine expire ?
Le mode Full (Strict) de Cloudflare vérifie la validité du certificat. Si votre certificat d’origine expire, Cloudflare ne peut pas établir de connexion sécurisée et votre site affiche une erreur 526 (Invalid SSL Certificate). Mettez en place une surveillance de l’expiration pour éviter cela.