Quand le certificat est déjà expiré, le navigateur bloque avant d’afficher le site. Vous avez une heure pour remettre un certificat valide, pas pour rédiger une procédure. La procédure, celle d’avant l’échéance, est dans renouveler les certificats avant l’échéance. Ici, le notAfter est dans le passé et les visiteurs voient l’avertissement.
Confirmer que c’est bien la date
L’avertissement « connexion non privée » couvre plusieurs pannes. Ouvrez le certificat présenté :
- date de fin dépassée : c’est cet incident ;
- nom qui ne contient pas le domaine : mauvais vhost ou mauvais fichier, un renouvellement du certificat d’un autre nom ne corrigera rien ;
- émetteur inconnu ou chaîne incomplète : le fichier servi n’inclut pas l’intermédiaire, ou c’est un certificat d’origine non public servi directement au visiteur.
``bash
echo | openssl s_client -connect exemple.fr:443 -servername exemple.fr 2>/dev/null | openssl x509 -noout -dates -subject
``
-servername est indispensable si plusieurs sites partagent l’IP. Regardez notAfter et le sujet. Refaites la commande pour www si le certificat peut différer.
Si un CDN est devant le site, cette commande voit le certificat du bord, pas celui de l’origine. Un bord encore valide avec un mode « Full (strict) » et une origine expirée produit une erreur 526 ou équivalente, pas forcément le même écran. Renouvelez le certificat que la connexion réelle utilise. Le panneau qui affiche une date future peut être l’autre maillon.
Renouveler maintenant, puis faire prendre le fichier
- Hébergement mutualisé : lancez le renouvellement Let’s Encrypt / AutoSSL « maintenant », pas au prochain cycle. Le cycle, lui, a déjà manqué.
- Serveur que vous administrez :
certbot renew(un certificat expiré est dû) ou le client ACME équivalent. Si la validation HTTP-01 échoue parce que le port 80 est cassé ou qu’une redirection avale/.well-known/acme-challenge/, passez par le DNS (DNS-01) ou par le bouton de l’hébergeur, qui n’a pas besoin que le TLS actuel fonctionne. - Installez la chaîne complète (certificat + intermédiaire), pas seulement le certificat feuille.
- Rechargez le serveur web (
nginx -s reload, reload Apache, ou l’action du panneau). Tant que le processus n’a pas relu le fichier, les visiteurs restent sur l’ancien. - Vérifiez depuis l’extérieur, en navigation privée et avec la commande openssl ci-dessus. Le cache du navigateur ne garde en général pas un succès TLS à votre place : un avertissement qui reste après un
notAfterfutur veut dire que vous parlez encore à l’ancien certificat (CDN, IPv6, mauvais nœud).
Ne demandez pas aux visiteurs d’ajouter une exception. Prévenez-les par un canal qui ne dépend pas de ce TLS : téléphone, e-mail déjà parti, status page hébergée ailleurs. Une sonde externe qui contrôle le certificat, comme SiteGarde peut le faire sur l’URL publique, doit repasser au vert sur le même nom que les visiteurs utilisent. Le panneau d’admin qui « voit » le nouveau fichier ne suffit pas.
Contrôlez aussi les noms qui partagent souvent l’échéance : www, le domaine nu, mail si le même certificat servait la messagerie. Un cadenas rétabli sur l’accueil avec un SMTP encore expiré casse les formulaires dans la foulée.
Si le renouvellement ne part pas
- Quota Let’s Encrypt atteint (trop d’échecs dans la semaine) : le message d’erreur le dit. Il faut attendre la fenêtre indiquée ou passer par un autre nom de validation, pas relancer en boucle.
- Le compte de l’hébergeur n’a plus le droit de délivrer : facturation, ou offre qui n’inclut pas le TLS. C’est un ticket, pas un fichier à éditer à la main.
- Vous n’avez pas la clé privée de l’ancien certificat : inutile. Faites émettre un certificat neuf.
Dans l’heure, un certificat neuf et un reload valent mieux qu’un debug du cron qui a échoué il y a un mois. Le cron se répare après, quand notAfter est de nouveau dans le futur. Sinon la même panne revient à la prochaine échéance, souvent 90 jours pour Let’s Encrypt.
Notez l’heure de début, l’heure où le test externe a montré la nouvelle date, et pourquoi le renouvellement automatique n’a pas eu lieu. Cette note est l’entrée du processus : alerte à 30 jours, boîte lue par deux personnes, essai réel du renouvellement. Sans elle, l’incident de cet après-midi se répète à la date que vous venez d’écrire dans le certificat.
