Méthode pour obtenir un certificat wildcard avec ESA en mode CNAME
Categories:
Le domaine est hébergé sur Alibaba Cloud DNS ou un tiers, impossible de migrer les NS du domaine, mais nécessite un wildcard. Alibaba Cloud ESA fournit un quota de 10 certificats, manifestement insuffisant.
Voici une méthode partagée pour obtenir un certificat wildcard, le principe sera expliqué à la fin.
Deux interfaces opérationnelles sont nécessaires :
- ESA
- Cloud DNS (ou résolveur DNS tiers)
Étapes opérationnelles
- ESA: DNS -> Paramètres : Passer en mode d’accès NS, confirmer directement, aucune autre opération requise.
- ESA: Demander un certificat Edge gratuit, demander uniquement
*.example.com, utiliser votre propre domaine - ESA: Déplier la ligne du certificat en cours de demande, obtenir l’enregistrement TXT, enregistrement hôte :
_acme-challenge.example.com, valeur d’enregistrement :-PewtWrH93avbM_bScUILtcNwCHifNvjZIa2VgT9seQ - Cloud DNS: Créer un enregistrement TXT, saisir l’enregistrement hôte et la valeur obtenus à l’étape précédente
- Attendre d’obtenir le certificat wildcard, si non obtenu en 10 minutes, cela indique une erreur, vérifiez vous-même.
- ESA: DNS -> Paramètres : Passer en mode d’accès CNAME, confirmer directement, aucune autre opération requise.
Principe
Les certificats gratuits proviennent tous de letsencrypt, avec deux méthodes d’authentification :
- Défi HTTP-01 : Le serveur de validation de Let’s Encrypt accède via HTTP à un fichier spécifique sur votre serveur (dans le chemin .well-known/acme-challenge/) pour confirmer votre contrôle du domaine.
- Défi DNS-01 : Cette méthode exige d’ajouter un enregistrement TXT dans les enregistrements DNS de votre domaine. En ajoutant un enregistrement TXT spécifique dans le DNS, vous prouvez votre contrôle sur le domaine.
Les certificats wildcard ne peuvent être obtenus que par Défi DNS-01, donc il faut configurer un enregistrement DNS. Par conséquent, ESA exige que le domaine soit hébergé sur la plateforme ESA pour demander un certificat wildcard. L’étape “ESA: DNS -> Paramètres : Passer en mode d’accès NS” est une conclusion tirée de l’analyse de la réponse de l’API ESA ApplyCertificate. Cette étape n’a aucun effet réel, servant uniquement à contourner la validation d’Alibaba Cloud.
L’étape clé consiste à écrire l’enregistrement TXT prédéfini dans le serveur NS du domaine lors de la demande de certificat à letscrypt, que ce serveur provienne de Cloud DNS ou ESA, il peut prouver que le domaine vous appartient.
Conclusion
ESA et Cloud DNS appartiennent tous deux à Alibaba Cloud, mais ne peuvent pas échanger de données. ESA possède clairement la capacité de vérifier si un domaine appartient à ce compte. L’obtention d’un certificat wildcard ne nécessite qu’ajouter une règle de résolution dans Cloud DNS et une autorisation, mais cela n’a pas été fait. L’expérience utilisateur peut encore être améliorée.
Les certificats obtenus par cette méthode pourraient ne pas pouvoir être renouvelés. Vous pouvez utiliser d’autres méthodes pour définir la synchronisation du certificat vers ESA : https://api.aliyun.com/api/ESA/2024-09-10/SetCertificate