Corriger une erreur SSL ou un certificat expiré
Diagnostiquer et corriger les erreurs HTTPS les plus fréquentes avec Nginx, Certbot et Let's Encrypt.
Identifier le problème
Une erreur SSL peut venir de plusieurs causes :
- Certificat expiré.
- Domaine qui ne pointe plus vers le VPS.
- Port
80ou443fermé. - Mauvaise configuration Nginx.
- Renouvellement Certbot en échec.
Commencez par vérifier le site dans un navigateur, puis testez depuis le VPS :
curl -I https://exemple.frVérifier les certificats installés
Listez les certificats Certbot :
certbot certificatesRegardez :
- Le nom du certificat.
- Les domaines couverts.
- La date d'expiration.
- Le chemin du certificat.
Si le domaine n'est pas listé, Certbot ne possède pas encore de certificat pour ce domaine.
Renouveler le certificat
Essayez un renouvellement manuel :
certbot renewPour forcer le renouvellement :
certbot renew --force-renewalRechargez Nginx :
systemctl reload nginxTester le renouvellement automatique
Certbot doit pouvoir renouveler le certificat sans intervention.
Testez :
certbot renew --dry-runSi le test échoue, lisez attentivement l'erreur affichée. Elle indique souvent si le problème vient du DNS, du port 80 ou de Nginx.
Vérifier les DNS
Le domaine doit pointer vers l'adresse IP du VPS.
dig exemple.fr
dig www.exemple.frComparez avec l'IP publique du VPS :
curl ifconfig.meSi les IP ne correspondent pas, corrigez la zone DNS avant de relancer Certbot.
Vérifier les ports
Let's Encrypt doit pouvoir accéder au serveur sur le port 80.
Vérifiez que Nginx écoute :
ss -tulpn | grep nginxAvec UFW :
ufw statusOuvrez les ports nécessaires :
ufw allow 80/tcp
ufw allow 443/tcpVérifier Nginx
Testez la configuration :
nginx -tSi une erreur apparaît, corrigez-la avant de relancer Certbot.
Vérifiez les domaines déclarés :
grep -R "server_name" /etc/nginx/sites-enabled/Rechargez Nginx :
systemctl reload nginxRegarder les logs Certbot
Les logs détaillés se trouvent ici :
tail -f /var/log/letsencrypt/letsencrypt.logVous pouvez aussi afficher les dernières lignes :
tail -n 100 /var/log/letsencrypt/letsencrypt.logRégénérer un certificat
Si la configuration est propre, vous pouvez relancer Certbot :
certbot --nginx -d exemple.fr -d www.exemple.frPour un sous-domaine :
certbot --nginx -d app.exemple.frErreurs fréquentes
Certificate has expired
Renouvelez le certificat :
certbot renew --force-renewal
systemctl reload nginxInvalid response from http://exemple.fr/.well-known/acme-challenge/
Nginx ne sert pas correctement le domaine ou une redirection bloque la validation.
DNS problem
Le domaine ne pointe pas vers le VPS ou la propagation DNS n'est pas terminée.
Too many certificates already issued
Let's Encrypt impose des limites. Attendez avant de refaire plusieurs demandes ou utilisez d'abord --dry-run.
Conclusion
La majorité des erreurs SSL viennent d'un DNS incorrect, d'un port fermé ou d'une configuration Nginx invalide. Une fois ces points corrigés, Certbot peut renouveler ou régénérer le certificat proprement.
Ce guide vous a aidé ?
Votre retour permet de repérer les guides à améliorer en priorité.