DNS-01 est le type de challenge ACME qui prend en charge les certificats wildcard (*.example.com). Il prouve la propriété du domaine en ajoutant un enregistrement TXT dans votre DNS — aucun serveur web ni accès au port 80 requis.
Comment ça fonctionne
- Let’s Encrypt fournit un jeton pour chaque domaine
- GetHTTPS calcule un condensé SHA-256 de l’autorisation de clé et l’encode en base64url
- Vous créez un enregistrement TXT à
_acme-challenge.votredomaine.comavec cette valeur - Let’s Encrypt interroge le DNS public pour l’enregistrement TXT
- Si la valeur correspond, la challenge est réussie et le certificat est émis
Avec GetHTTPS, les étapes 1-2 sont automatiques — vous n’avez qu’à copier-coller le nom et la valeur de l’enregistrement chez votre fournisseur DNS.
Configuration étape par étape
Étape 1 : Obtenir les détails de l’enregistrement TXT depuis GetHTTPS
GetHTTPS vous affiche :
- Nom de l’enregistrement :
_acme-challenge.votredomaine.com - Valeur de l’enregistrement : une chaîne encodée en base64url (~43 caractères)
Étape 2 : Ajouter l’enregistrement TXT chez votre fournisseur DNS
| Champ | Valeur |
|---|---|
| Type | TXT |
| Nom | _acme-challenge (certains fournisseurs ajoutent automatiquement le domaine) |
| Valeur | La chaîne affichée par GetHTTPS — copier-coller exactement |
| TTL | 60 secondes (ou le minimum autorisé par votre fournisseur) |
Instructions par fournisseur :
Cloudflare
- Dashboard → votre domaine → DNS → Records → Add record
- Type : TXT, Name :
_acme-challenge, Content : collez la valeur - TTL : Auto
- Cliquez sur Save
AWS Route 53
- Hosted zones → votre domaine → Create record
- Record name :
_acme-challenge - Record type : TXT
- Value :
"collez-la-valeur-ici"(incluez les guillemets — Route 53 les exige) - TTL : 300
- Cliquez sur Create records
GoDaddy
- DNS Management → Add
- Type : TXT, Name :
_acme-challenge, Value : collez la valeur - TTL : 1 Hour (minimum disponible)
- Cliquez sur Save
Namecheap
- Domain List → Manage → Advanced DNS → Add new record
- Type : TXT, Host :
_acme-challenge, Value : collez la valeur - TTL : Automatic
- Cliquez sur Save all changes
Google Cloud DNS
gcloud dns record-sets create _acme-challenge.yourdomain.com. \
--zone=your-zone --type=TXT --ttl=60 --rrdatas="the-value"
DigitalOcean
- Networking → Domains → votre domaine → Add record
- Type : TXT, Hostname :
_acme-challenge, Value : collez la valeur - TTL : 30
Étape 3 : Attendre la propagation DNS
Les modifications DNS prennent 1 à 15 minutes selon votre fournisseur et les paramètres TTL. La vérification préalable de GetHTTPS confirme que l’enregistrement TXT est visible depuis l’internet public avant de soumettre à Let’s Encrypt.
Vérifier la propagation manuellement :
dig TXT _acme-challenge.yourdomain.com +short
# Devrait retourner votre valeur (entre guillemets)
Ou utilisez un vérificateur de propagation en ligne pour voir si l’enregistrement est visible globalement.
Étape 4 : Vérifier dans GetHTTPS
Cliquez sur Verify. GetHTTPS soumet la challenge à Let’s Encrypt. Si l’enregistrement TXT est correct, le certificat est émis.
Étape 5 : Nettoyage
Après l’émission du certificat, supprimez l’enregistrement TXT _acme-challenge de votre DNS. Il n’est plus nécessaire et les enregistrements obsolètes peuvent créer de la confusion lors du renouvellement.
Certificats wildcard avec DNS-01
Pour obtenir un certificat pour *.votredomaine.com, vous devez utiliser DNS-01. HTTP-01 ne peut pas valider les wildcards car un wildcard couvre un nombre infini de noms d’hôte — il n’y a pas de serveur unique où placer un fichier.
Wildcard + domaine nu : Si vous voulez à la fois *.example.com et example.com, GetHTTPS peut nécessiter deux validations. Certaines configurations nécessitent deux enregistrements TXT à _acme-challenge.example.com simultanément — un pour le wildcard, un pour l’apex. Conservez les deux enregistrements jusqu’à ce que la validation réussisse.
Guide complet des certificats wildcard →
DNS-01 vs HTTP-01
| DNS-01 | HTTP-01 | |
|---|---|---|
| Ce que vous faites | Ajouter un enregistrement TXT dans le DNS | Placer un fichier sur votre serveur |
| Accès requis | Paramètres DNS du domaine | Système de fichiers du serveur web |
| Port requis | Aucun | Le port 80 doit être ouvert |
| Support wildcard | ✅ Requis pour les wildcards | ❌ |
| Fonctionne sans serveur | ✅ | ❌ |
| Rapidité | 1-15 min (propagation DNS) | Instantané (si le fichier est accessible) |
| Fonctionne derrière un CDN | ✅ Toujours | ⚠️ Peut nécessiter un contournement du CDN |
| Idéal pour | Wildcards, sans serveur, configurations CDN | La plupart des certificats mono-domaine |
Choisissez DNS-01 quand : vous avez besoin d’un wildcard, le port 80 est bloqué, votre serveur n’est pas accessible publiquement, ou vous êtes derrière un CDN.
Choisissez HTTP-01 quand : vous avez un serveur web, le port 80 est ouvert et vous n’avez pas besoin d’un wildcard. C’est plus rapide (pas d’attente de propagation).
Dépannage
L’enregistrement TXT n’est pas trouvé par GetHTTPS
- Attendez plus longtemps — certains fournisseurs prennent 5 à 15 minutes. Un TTL bas aide mais n’élimine pas le temps de propagation.
- Vérifiez le nom de l’enregistrement : Certains fournisseurs ajoutent automatiquement le domaine. Si vous entrez
_acme-challenge.example.comet que le fournisseur ajoute.example.com, l’enregistrement réel devient_acme-challenge.example.com.example.com(incorrect). Entrez seulement_acme-challengeet laissez le fournisseur ajouter le reste. - Vérifiez manuellement :
Si cela ne retourne rien, l’enregistrement n’est pas encore propagé.dig TXT _acme-challenge.yourdomain.com +short
Mauvaise valeur / erreur de casse
- La valeur est sensible à la casse. Copiez-collez directement depuis GetHTTPS — ne la retapez pas.
- N’ajoutez pas de guillemets sauf si votre fournisseur DNS les exige (Route 53 oui, la plupart des autres non).
Conflit de multiples enregistrements TXT
- Supprimez les anciens enregistrements TXT
_acme-challengedes tentatives précédentes avant d’en ajouter de nouveaux. - Exception : la validation wildcard + apex peut nécessiter deux enregistrements au même nom simultanément.
Le fournisseur DNS ne prend pas en charge les enregistrements TXT
Rare, mais certains services DNS basiques ne prennent pas en charge les TXT. Passez à un fournisseur DNS complet (le plan gratuit de Cloudflare prend en charge tous les types d’enregistrements).
Quand utiliser DNS-01
| Scénario | DNS-01 ? |
|---|---|
Certificat wildcard (*.example.com) | ✅ Requis |
| Port 80 bloqué | ✅ Meilleure option |
| Serveur sur réseau interne | ✅ Seule option |
| Derrière un proxy Cloudflare/CDN | ✅ Évite les problèmes de proxy |
| Domaine sans serveur (parking, redirection) | ✅ Seule option |
| Simple certificat mono-domaine avec accès serveur | ⚠️ HTTP-01 est plus rapide |
Questions fréquentes
Puis-je automatiser les challenges DNS-01 ?
Oui, avec des outils CLI. acme.sh dispose d’intégrations API intégrées pour plus de 150 fournisseurs DNS — il peut ajouter et supprimer des enregistrements TXT automatiquement. Certbot prend en charge des plugins DNS pour les principaux fournisseurs. GetHTTPS nécessite des modifications DNS manuelles (dans le navigateur, sans appels API).
Est-il sûr de donner ma clé API DNS à un client ACME ?
La clé API a un accès en écriture à votre zone DNS, traitez-la donc avec la même sécurité que vos identifiants de serveur. Utilisez des jetons API limités quand possible (par exemple, les jetons par zone de Cloudflare). Pour une sécurité maximale, utilisez GetHTTPS avec des modifications DNS manuelles — aucune clé API impliquée.
Combien de temps dois-je garder l’enregistrement TXT ?
Uniquement pendant la validation — généralement quelques minutes. Une fois votre certificat émis, supprimez l’enregistrement. Vous en créerez un nouveau avec une nouvelle valeur lors du renouvellement.
Que faire si mon fournisseur DNS est lent à propager ?
Réglez le TTL aussi bas que votre fournisseur le permet (idéalement 60 secondes). Si la propagation prend plus de 15 minutes, vérifiez les fautes de frappe dans le nom/valeur de l’enregistrement, ou essayez un autre fournisseur DNS. Cloudflare propage les enregistrements TXT en quelques secondes.
DNS-01 fonctionne-t-il avec le proxy Cloudflare (nuage orange) ?
Oui. La validation DNS-01 interroge l’enregistrement TXT via le DNS, pas via HTTP — donc le statut du proxy Cloudflare (nuage orange vs gris) n’a pas d’importance. C’est un avantage clé par rapport à HTTP-01, qui peut être bloqué par le proxy.