Cloudflare Free — DNS et exposition
Rôle actuel
Cloudflare héberge les zones DNS de djayzone.com et jemimah.fr. Les serveurs de noms délégués sont julissa.ns.cloudflare.com et kirk.ns.cloudflare.com. Traefik termine le TLS dans Kubernetes avec des certificats Let's Encrypt gérés par cert-manager.
Modèle DNS
| Type de nom | Cibles | Proxy Cloudflare |
|---|---|---|
| Sites publics de premier niveau | Les IP publiques actives selon le service | Possible après validation TLS |
*.lab.djayzone.com |
Les trois IP des VPS | DNS only dans l'architecture actuelle |
*.lab.jemimah.fr |
Les IP nécessaires | DNS only dans l'architecture actuelle |
Trois enregistrements wildcard A sont actifs pour *.lab.djayzone.com, vers 213.32.65.236, 152.228.237.203 et 51.254.130.191. Un nouvel hôte sous lab.djayzone.com résout donc automatiquement vers les trois entrées Traefik. Un enregistrement explicite de même nom reste prioritaire sur le wildcard.
Les noms à deux niveaux comme grafana.lab.djayzone.com ne sont pas couverts par le certificat Universal SSL gratuit standard de la zone. Les passer en proxy orange sans stratégie de certificat Edge adaptée peut casser le HTTPS.
Ajouter un service
- Créer Deployment/Service/Ingress dans Git.
- Ajouter l'annotation
cert-manager.io/cluster-issuer: letsencrypt-production. - Déclarer le nom dans
spec.rulesetspec.tls.hosts. - Pour
nom.lab.djayzone.com, ne pas créer d'enregistrement individuel : le wildcard existant s'applique automatiquement. - Attendre l'émission du certificat Let's Encrypt par cert-manager, puis vérifier le routage.
Un enregistrement explicite n'est requis que pour une cible différente des trois VPS, une politique particulière ou un nom hors de *.lab.djayzone.com.
Resolve-DnsName nouveau.lab.djayzone.com -Server 1.1.1.1
curl.exe -I https://nouveau.lab.djayzone.com
kubectl get ingress,certificate,certificaterequest,challenge -A
Réglages recommandés
- Mode SSL/TLS
Full (strict)uniquement lorsque le proxy est activé. - DNSSEC activé si le registrar publie correctement le DS.
- MFA obligatoire sur le compte Cloudflare.
- Jetons API limités à une zone et aux seules permissions nécessaires.
- Ne jamais mettre un Global API Key dans Git ou dans un manifeste en clair.
- Conserver plusieurs enregistrements A seulement si le service répond réellement sur chaque VPS.
Dépannage
| Symptôme | Diagnostic |
|---|---|
NXDOMAIN |
délégation NS, enregistrement absent, mauvais nom ou propagation |
| Erreur TLS directe | Certificate/Challenge cert-manager et port 80 accessible pour HTTP-01 |
| Erreur Cloudflare 525/526 | mode SSL, certificat origine, SNI et proxy orange |
| Une IP échoue | tester chaque IP avec curl --resolve, puis Traefik/ServiceLB/UFW |
| Boucle de redirection | réglage SSL Cloudflare et middleware HTTPS Traefik |
curl.exe --resolve docs.lab.djayzone.com:443:213.32.65.236 https://docs.lab.djayzone.com/ -I
curl.exe --resolve docs.lab.djayzone.com:443:152.228.237.203 https://docs.lab.djayzone.com/ -I
curl.exe --resolve docs.lab.djayzone.com:443:51.254.130.191 https://docs.lab.djayzone.com/ -I