Panne générale due à un certificat TLS expiré
```text curl: (60) SSL certificate problem: certificate has expired NET::ERR_CERT_DATE_INVALID ```
Détecter
Du jour au lendemain, navigateurs et clients API refusent la connexion au service ; les appels entre microservices échouent également.
Symptômes
Du jour au lendemain, navigateurs et clients API refusent la connexion au service ; les appels entre microservices échouent également.
Environnement
NGINX en frontal avec un certificat installé manuellement il y a un an, services internes utilisant une CA interne.
Cause racine
Certificat renouvelé manuellement, sans automatisation ni alerte d'expiration ; la personne qui s'en occupait a changé de poste.
Diagnostic
openssl s_client -connect app:443 -servername app | openssl x509 -noout -dates.- Vérifier toute la chaîne : un intermédiaire expiré produit le même symptôme.
- Recenser les autres certificats proches de l'expiration.
Solution
Émettre et installer un nouveau certificat (chaîne complète), recharger NGINX, vérifier depuis l'extérieur et depuis les clients internes. Pour les services publics : automatiser via ACME (Let's Encrypt, certbot/lego).
Commandes
echo | openssl s_client -connect app.exemple.fr:443 -servername app.exemple.fr 2>/dev/null | openssl x509 -noout -enddate
nginx -t && systemctl reload nginx
Prévention
Renouvellement automatique, inventaire des certificats, sonde blackbox avec alerte à J-21 et J-7, durées de validité courtes pour forcer l'automatisation.