SLBCloud
Intermédiaire6 min de lecture

Certificat expiré ou renouvellement en panne

Diagnostiquer un renouvellement Let's Encrypt qui ne s'est pas fait, les quatre causes habituelles, et comment être prévenu avant vos visiteurs.

Un certificat Let's Encrypt vit trois mois et se renouvelle tout seul au bout de deux. Quand ce n'est pas le cas, l'échec est silencieux jusqu'au jour de l'expiration — où tous vos visiteurs voient un avertissement rouge.

Constater

bash
sudo certbot certificates          # vos certificats et leur date d'expiration

# Ou depuis n'importe où :
echo | openssl s_client -connect monsite.fr:443 -servername monsite.fr 2>/dev/null |
  openssl x509 -noout -dates

Tester le renouvellement sans attendre

bash
sudo certbot renew --dry-run

Cette commande fait tout le parcours réel sans consommer de quota. Si elle passe, le renouvellement automatique passera aussi. Si elle échoue, le message dit précisément pourquoi.

Les quatre causes, par fréquence

CauseSigneCorrectif
Le port 80 a été ferméTimeout during connectRouvrir le 80 : la validation passe par lui
Le DNS ne pointe plus iciNXDOMAIN, ou une autre IPCorriger la zone, ou retirer le domaine du certificat
Un vhost intercepte la requêteErreur 404 sur .well-knownVérifier l'ordre des server_name
Le minuteur est désactivéAucune trace de tentativesystemctl enable --now certbot.timer

Vérifier que le renouvellement est bien programmé

bash
systemctl list-timers | grep certbot
journalctl -u certbot -n 50

Le cas du sous-domaine supprimé

Un certificat couvrant plusieurs noms échoue en entier si un seul d'entre eux ne se valide plus. Vous avez supprimé blog.monsite.fr du DNS ? Le certificat de monsite.fr cesse de se renouveler. Il faut alors le réémettre sans le nom disparu.

bash
sudo certbot --nginx -d monsite.fr -d www.monsite.fr --cert-name monsite.fr

Être prévenu à temps

Let's Encrypt envoie des rappels à l'adresse donnée lors de la première émission — encore faut-il qu'elle soit lue. Vérifiez laquelle est enregistrée, et changez-la si c'est une adresse abandonnée : sudo certbot update_account --email [email protected]

Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.

Ouvrir un ticket