Comme promis dans l’article : Mise en place du HTTPS avec letsencrypt & NginX. J’avais évoqué le renouvellement d’un ou des certificats SSL générés par Letsencrypt.
Plait-il ? J’avais dit rapidement ?…
Hey oui, les certificats offerts par Letsencrypt sont valables 90 jours, il est donc utile de pouvoir automatiser le renouvellement.
Il faut savoir que l’équipe LetsEncrypt, va t’envoyer un email 1 jour avant l’expiration.. et là faut pas procrastiner sinon… site inaccessible ou affichant un message d’erreur… et ça c’est pô cool !
Sommaire
De letsencrypt à Certbot
Il y a quelques semaines, l’outil a changé de nom. Dorénavant, les binaires s’appellent CertBot.
Il faut donc que tu télécharges, les nouveaux binaires.
On récupère, les sources :
git clone https://github.com/certbot/certbot cd certbot
Renouvellement SSL d’urgence
Dans le cas où tu n’avais pas encore mis en place de script pour automatiser le renouvellement. Tu peux renouveler manuellement ton ou tes certificats.
On stop Nginx (Sinon erreur PORT already used)
service nginx stop
On lance un test « –dry-run » pour vérifier si tout est ok
./certbot-auto renew --dry-run --standalone
Si, on obtient un beau congratulations, tu peux lancer la commande sans le « –dry-run »
./certbot-auto renew
N’oublie pas de redémarrer, Nginx 😉
service nginx start
Si tu utilises un autre OS ou un autre WebServer, jette un oeil ici : Certbot
L’automatisation grâce à cron :
Maintenant, passons aux choses plus sympas. On aime pas les urgences, on va donc ajouter une tâche cron qui va appeler certbot-auto tous les 30 jours à 2 du matin. Les certificats sont considérés renouvelable 30 jours avant la date d’expiration.
0 2 30 * * /PATH/TO/CERTBOT/DIR/certbot-auto renew --pre-hook "service nginx stop" --post-hook "service nginx start" >/dev/null 2>&1
Pense à modifier /PATH/TO/CERTBOT/DIR 😉
Pour un monde plus secure o/
Découvrez en plus sur le projet LetsEncrypt