Comment résoudre l’erreur de renouvellement SSL de Let’s Encrypt sur le serveur Linux ?
Guide des erreurs de renouvellement de Certbot, des problèmes de vérification de domaine et des certificats SSL expirés.
Lorsque le certificat SSL d'un site Web expire, les visiteurs verront un avertissement non sécurisé dans leur navigateur. Cela réduit non seulement la confiance des utilisateurs ; WHMCS crée également de sérieux problèmes pour les systèmes de paiement, les connexions API, les panneaux de jeu et les connexions clients.
Les certificats Let's Encrypt sont gratuits mais doivent être renouvelés périodiquement. Si Certbot n'est pas configuré correctement, le renouvellement échouera et le SSL pourrait expirer.
1. Vérification des certificats disponibles
Vérifiez d'abord quels certificats sont présents sur le serveur :
certbot certificates
Cette commande affiche le nom du certificat, les domaines, les chemins d'accès aux fichiers et la date d'expiration.
S'il n'y a pas de commande certbot, il se peut qu'il ne soit pas installé :
certbot --version
2. Effectuer des tests d'actualisation
Pour tester le certificat avant de le renouveler :
certbot renew --dry-run
Cette commande teste le processus d'actualisation. S'il y a une erreur, cela vous permet de voir le problème avant le jour du renouvellement effectif.
3. Erreurs Certbot les plus courantes
La plupart des erreurs de renouvellement de Let's Encrypt sont liées à la validation du domaine et à l'accès au serveur Web.
- Réponse invalide : Let's Encrypt ne peut pas accéder au fichier de vérification.
- Connexion refusée : Le port 80 ou 443 peut être fermé.
- Délai d'expiration pendant la connexion : Le domaine n'est peut-être pas dirigé vers le serveur ou le pare-feu le bloque peut-être.
- Non autorisé : Le fichier de vérification du domaine renvoie peut-être un contenu incorrect.
- Trop de certificats : Les tentatives de certificat ont peut-être été effectuées trop fréquemment.
4. Vérification du routage IP du domaine
Pour que le renouvellement du certificat fonctionne, le domaine doit être dirigé vers la bonne adresse IP du serveur.
dig domainadi.com +short
Si dig n'est pas installé :
apt install dnsutils -y
Sur les systèmes basés sur CentOS :
yum install bind-utils -y
L'IP renvoyée par le domaine doit être la même que l'adresse IP du serveur sur lequel SSL sera installé.
5. Vérification des ports 80 et 443
Let's Encrypt souhaite souvent accéder au port 80 pour l'authentification HTTP. Si le port 80 est fermé, l'authentification peut échouer.
ss -tulpn | grep -E ':80|:443'
Si vous utilisez un pare-feu, assurez-vous que les ports 80 et 443 sont ouverts.
Pour UFW :
ufw allow 80/tcp ufw allow 443/tcp ufw reload
Pour le pare-feu :
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
6. Tests de configuration Nginx ou Apache
S'il y a une erreur dans le fichier de configuration du serveur Web, le service Web risque de ne pas être rechargé après l'actualisation du certbot.
Pour Nginx :
nginx -t
Pour Apache :
apachectl configtest
S'il n'y a aucune erreur, vous pouvez réinstaller les services :
systemctl reload nginx
ou :
systemctl reload apache2
7. Renouvellement manuel du certificat SSL
Si toutes les vérifications sont correctes, vous pouvez exécuter l'actualisation manuellement :
certbot renew
Exemple Nginx si vous devez uniquement recertifier pour un domaine spécifique :
certbot --nginx -d domainadi.com -d www.domainadi.com
Exemple Apache :
certbot --apache -d domainadi.com -d www.domainadi.com
8. Vérification du planificateur d'actualisation automatique
Certbot s'actualise généralement automatiquement avec systemd timer ou cron.
systemctl list-timers | grep certbot
Pour vérifier l'état de la minuterie :
systemctl status certbot.timer
Si la minuterie est éteinte :
systemctl enable certbot.timer systemctl start certbot.timer
Erreurs courantes
- Essayer d'obtenir SSL lorsque l'adresse IP du domaine est erronée
- Fermez le port 80 et attendez que l'authentification HTTP fonctionne
- Ne pas vérifier la structure d'authentification lorsque le proxy Cloudflare est activé
- Erreur de configuration Nginx/Apache pour une erreur certbot
- Ne pas tester le renouvellement automatique jusqu'à l'expiration de SSL
FAQ
Si le SSL a expiré, le site sera-t-il complètement fermé ?
Le site peut fonctionner techniquement, mais le navigateur affiche un avertissement de sécurité. Cela réduit considérablement la confiance des clients.
Pourquoi le renouvellement de Certbot échoue-t-il ?
Habituellement, le domaine est dirigé vers la mauvaise adresse IP, le port 80/443 est fermé, la configuration du serveur Web est incorrecte ou le fichier de vérification n'est pas accessible.
Le renouvellement SSL est-il un problème lors de l'utilisation de Cloudflare ?
Un mode SSL ou une configuration proxy incorrect peut affecter le processus de vérification. La méthode de vérification du domaine doit être choisie en conséquence.
Recommandations en matière de sécurité et d'exploitation
- Vérifiez régulièrement les dates d'expiration du SSL.
- Exécutez périodiquement le test certbot renouveler --dry-run.
- Ne fermez pas les ports 80 et 443 inutilement.
- Après les modifications de la configuration du serveur Web, exécutez nginx -t ou apachectl configtest.
- Ne négligez pas la surveillance SSL sur les domaines qui utilisent des panels de paiement et clients.
Cet article est spécialement préparé pour PvPServer.