Comparateur indépendant · sans classement payant
Accueil / Blog / ACME : surveiller le renouvellement de certificat avant l'expiration
Technique

ACME : surveiller le renouvellement de certificat avant l'expiration

Certbot a « toujours marché » — jusqu'au renouvellement silencieux qui échoue parce que le DNS a changé et que personne ne surveille les certificats, seulement les uptime checks HTTP.

5 min Mis à jour 19 juil. 2026

Le site tombe un mardi à 9 h 01 : NET::ERR_CERT_DATE_INVALID. Le dernier certificat Let's Encrypt a expiré à minuit. Certbot tourne sur le serveur — les journaux montrent des échecs HTTP-01 depuis six semaines : le pare-feu a fermé le port 80 après un durcissement, et personne n'alertait sur la date du certificat, seulement sur un ping HTTP 443.

ACME automatise l'émission — pas la gouvernance. Un renouvellement réussi dans certbot ne garantit ni que le certificat est servi aux visiteurs, ni qu'une surveillance de l'expiration réelle est en place.

Flux ACME et points de rupture

Le cycle standard :

  1. L'agent (certbot, lego, Caddy intégré) demande un challenge.
  2. Let's Encrypt valide HTTP-01 ou DNS-01.
  3. Le certificat est émis ; l'agent l'installe et recharge le serveur web.
ChallengeCas d'usageÉchec fréquent
HTTP-01VPS, origine publique sur le port 80Port 80 fermé, boucle de redirection
DNS-01Wildcard, origine privéeJeton API DNS expiré ou mal configuré

Utilisez l'environnement staging de Let's Encrypt pour les tests — sans consommer le quota production.

Un journal de renouvellement « success » sans nginx -s reload laisse l'ancien certificat actif — ou pire, un fichier mis à jour que le serveur ne lit pas.

Pour une configuration TLS maintenable au-delà du renouvellement, voir Configurer TLS.

Certbot, cron et hooks de déploiement

Sur Debian/Ubuntu, vérifiez que certbot.timer systemd est actif : systemctl status certbot.timer.

Ajoutez un hook dans /etc/letsencrypt/renewal-hooks/deploy/reload-nginx.sh :


#!/bin/sh

nginx -t && nginx -s reload

Sur plusieurs serveurs, synchronisez les certificats ou coordonnez le rechargement par nœud après renouvellement.

Multi-domaine, SAN et wildcard

Un certificat SAN couvre www et l'apex — les deux noms doivent passer le challenge. Un wildcard *.example.com exige DNS-01 : automatisez via l'API de votre registrar ou CDN (Cloudflare, OVH, etc.).

Lors d'une migration d'hébergeur, réémettez avant de couper l'ancienne origine — prévoyez 48 heures de chevauchement.

Comparez Let's Encrypt ou certificat payant selon vos contraintes B2B ou de validation étendue.

Monitoring de l'expiration

Mettez en place au minimum :

  • Sonde ssl_exporter avec alerte days_until_expiry < 21
  • Blackbox probe sur la connexion TLS réelle
  • Inventaire des dates X.509 par domaine de production

Séparez l'alerte échec de renouvellement (journaux certbot) de l'alerte expiration (certificat présenté au navigateur). SSL Labs ne remplace pas une alerte Prometheus ou un cron qui lit certbot certificates.

Si un CDN termine TLS devant l'origine, suivez deux dates : certificat edge et certificat origine.

Hébergeurs managés et ACME intégré

Les panels (Plesk, cPanel, gestionnaire Infomaniak) gèrent souvent Let's Encrypt en natif — vérifiez que le renouvellement automatique est activé et que l'e-mail administrateur est à jour.

Le sommet : automatisation sans boucle fermée

Voici ce qu'on oublie en installant certbot une fois pour toutes.

Surveiller le renouvellement, c'est dry-run plus monitoring d'expiration plus hook de reload — pas seulement installer certbot.

Décider et avancer sans angle mort

En une demi-journée, vous pouvez fermer la boucle ACME :

  1. Vérifiez que le timer ou cron certbot est actif et documenté.
  2. Ajoutez un hook de reload post-renouvellement testé en conditions réelles.
  3. Planifiez un dry-run mensuel avec alerte en cas d'échec.
  4. Configurez une alerte d'expiration sous 21 jours sur le certificat servi, pas seulement sur disque.
  5. Documentez les dépendances du challenge (port 80, API DNS, whitelist pare-feu).
  6. Rédigez un runbook « certificat expiré » : renouvellement forcé, reload, vérification chaîne.

Comparez les hébergeurs avec Let's Encrypt intégré via l'annuaire et le comparateur.

Questions fréquentes

À quelle fréquence Let's Encrypt renouvelle-t-il ?

Certificats valides 90 jours ; tentatives automatiques environ 30 jours avant expiration. Le cron ou timer systemd doit être vérifié — ce n'est pas automatique sur toutes les installations.

HTTP-01 ou DNS-01 ?

HTTP-01 si le port 80 est public et stable. DNS-01 pour wildcard, origine privée ou routage complexe — avec API DNS automatisée et jetons surveillés.

Comment monitorer l'expiration ?

Alerte sur la date du certificat présenté aux clients, sous 21 jours. Complétez par un dry-run mensuel. L'e-mail Let's Encrypt seul est insuffisant.

Renouvellement OK mais site TLS cassé ?

Le reload du serveur web post-renouvellement manque souvent. Automatisez le hook deploy et testez après chaque changement de configuration.


Let's Encrypt renouvelle souvent — votre stack doit prouver qu'elle sert le bon certificat à temps.

Comparez les hébergeurs européens

Filtrez par conformité, localisation et usage — puis ouvrez les fiches pour vérifier le périmètre réel.

Voir l'annuaire
Blog

À lire aussi

Tous les articles →