Un certificat pour tous ses sous-domaines
Obtenir un certificat *.mon-domaine.fr avec la validation par DNS, et l'automatiser pour qu'il se renouvelle sans intervention.
Dès qu'on crée des sous-domaines régulièrement — un par client, un par environnement — demander un certificat à chaque fois devient absurde. Un certificat joker couvre tout ce qui finit par votre domaine.
La validation HTTP ne suffit pas
Let's Encrypt n'émet un joker qu'après une validation par DNS : il faut prouver que vous contrôlez la zone, pas seulement un serveur web. Concrètement, certbot doit pouvoir créer un enregistrement TXT chez votre hébergeur DNS — donc une clé d'API.
Avec l'API de votre hébergeur DNS
Exemple avec OVH
sudo apt install python3-certbot-dns-ovh
sudo tee /root/ovh.ini >/dev/null <<'EOF'
dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = ...
dns_ovh_application_secret = ...
dns_ovh_consumer_key = ...
EOF
sudo chmod 600 /root/ovh.ini
sudo certbot certonly \
--dns-ovh --dns-ovh-credentials /root/ovh.ini \
-d mon-domaine.fr -d '*.mon-domaine.fr'Des greffons équivalents existent pour Cloudflare, Gandi, Scaleway et la plupart des autres. Le principe est identique : un fichier d'identifiants en 600, et certbot fait le reste.
L'utiliser dans nginx
server {
listen 443 ssl;
http2 on;
server_name ~^(?<client>.+)\.mon-domaine\.fr$;
ssl_certificate /etc/letsencrypt/live/mon-domaine.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mon-domaine.fr/privkey.pem;
root /var/www/clients/$client/public;
}Le server_name en expression régulière capture le sous-domaine dans une variable : un seul vhost sert alors autant de clients que vous voulez, sans rien ajouter à chaque nouveau.
Vérifier le renouvellement
sudo certbot renew --dry-run
sudo certbot certificatesCe que le joker ne couvre pas
*.mon-domaine.fr couvre un seul niveau : a.mon-domaine.fr oui, a.b.mon-domaine.fr non. Et il ne couvre pas le domaine nu — d'où la présence des deux dans la commande ci-dessus.
Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.
Ouvrir un ticket