Certificat SSL expiré - que faire
· 6 min de lecture
En bref : L'expiration d'un certificat SSL fait que les navigateurs bloquent l'accès avec le message "Votre connexion n'est pas privée". La conversion tombe à zéro jusqu'au renouvellement du certificat. Cet article est une procédure rapide sur quoi faire immédiatement et comment prévenir.
En bref : L'expiration d'un certificat SSL fait que les navigateurs bloquent l'accès avec le message "Votre connexion n'est pas privée". La conversion tombe à zéro jusqu'au renouvellement du certificat. Cet article est une procédure rapide sur quoi faire immédiatement et comment prévenir.
Ce que voit le visiteur
Un certificat expiré déclenche un avertissement plein écran dans le navigateur :
- Chrome / Edge: "Your connection is not private" (NET::ERR_CERT_DATE_INVALID)
- Firefox: "Warning: Potential Security Risk Ahead" (SEC_ERROR_EXPIRED_CERTIFICATE)
- Safari: "This Connection Is Not Private"
Un visiteur normal clique sur "Retour". Plus de 95 % du trafic organique part simplement. Les bot crawlers (Googlebot, Bingbot) cessent d'indexer et après quelques jours vous commencez à perdre des positions dans la recherche.
Procédure si vient juste d'expirer
- Identifiez qui a émis le cert. Dans le terminal :
openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates - Let's Encrypt (gratuit, validité 90 jours) : typiquement via
certbot renewou via le panel de l'hébergeur (One-click renewal). - Cert commercial (DigiCert, Sectigo, GlobalSign) : connectez-vous au panel admin de l'émetteur, générez un nouveau CSR, passez la validation de domaine (DNS TXT ou email).
- Déployez le nouveau cert dans le reverse proxy (nginx, Caddy, Traefik) et redémarrez / rechargez le processus.
- Vérifiez via SSL Labs ou via notre outil de vérification SSL, que le cert est servi correctement et que la chaîne est complète.
Attention : N'oubliez pas le cert intermédiaire - sans lui les navigateurs modernes peuvent récupérer la chaîne via AIA, mais les anciens clients et certaines bibliothèques API échoueront.
Renouvellement automatique : Let's Encrypt + certbot
La prévention la plus simple est d'automatiser complètement le renouvellement. Le cert Let's Encrypt se renouvelle tous les 90 jours via certbot :
# /etc/cron.d/certbot-renew
0 3 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"
Ce cron tourne chaque jour à 3:00 du matin. Certbot vérifie en interne si le cert approche l'expiration (par défaut 30 jours à l'avance). Si oui, il le renouvelle et recharge nginx en cas de succès. Sinon il ne fait rien.
Caddy et Traefik : entièrement automatique
Si vous utilisez Caddy ou Traefik comme reverse proxy, l'ACME challenge est intégré dans le binaire. Il suffit de marquer le domaine dans le config et le serveur demande et renouvelle lui-même le cert :
# Caddyfile
mywebsite.com {
reverse_proxy localhost:3000
}
Pas de certbot, pas de cron. Caddy appelle l'API Let's Encrypt en arrière-plan et gère le cycle de renouvellement.
Certs commerciaux : validité 1-3 ans
Depuis septembre 2020 tous les certs publiquement de confiance ont une durée de vie max de 397 jours (CA/B Forum baseline). Certaines entreprises préfèrent toujours les CA commerciales pour :
- Extended Validation (EV) affiche l'organisation dans la barre d'adresse (Chrome ne l'affiche plus en évidence depuis 2019).
- Wildcard pour beaucoup de sous-domaines bien que Let's Encrypt supporte désormais les wildcards via DNS-01.
- Garantie responsabilité financière du CA en cas de compromission.
- Conformité / audit certaines industries ont des exigences externes.
Pour la plupart des sites Let's Encrypt ou un autre CA gratuit (ZeroSSL, Buypass) suffit.
Monitoring d'expiration comme filet de sécurité
Même avec un renouvellement automatique, le monitoring d'expiration fait office d'assurance. Le renouvellement peut échouer à cause de :
- Rate limit du côté CA (Let's Encrypt : 5 doublons / 7 jours)
- Changement DNS qui casse l'ACME challenge
- Règle firewall bloquant le port 80 (HTTP-01 challenge)
- Crash de certbot ou du cron que personne n'a remarqué
ePulz.io suit l'expiration de chaque endpoint surveillé et envoie une alerte 30, 14, 7, 3 et 1 jour avant la fin de validité. Il suffit d'un signal vert que le cert s'est renouvelé à temps - et vous avez la certitude que l'automatisation fonctionne.
Activez le monitoring SSL
Alertes 30/14/7/3/1 jours avant expiration. Sans configuration, sans changements DNS. 7 jours gratuits.
Essayez ePulz.io gratuitement - 7 jours sans carte de crédit.
Créer un compte