Comment réparer l'erreur "Certificate has expired" avec Caddy Server
Description du problème
Depuis quelques mois, j'héberge mes sites web chez AWS sur une instance ec2-micro. Hier, grosse panique lorsque mon API Nest renvoie l'erreur suivante :
Certificate has expired J'utilise Caddy Server, que je trouve plus simple d'utilisation qu'Apache et Nginx pour générer des certificats SSL.
Caddy propose plusieurs commandes pour renouveler les certificats :
_10sudo caddy trust # Permet de générer un fichier certificat pour chaque nom de domaine
Cette commande va générer un certificat pour tous les noms de domaines sauvegardés dans la configuration globale /etc/caddy/Caddyfile
_10/** /etc/caddy/Caddyfile **/_10example.com {_10 reverse_proxy localhost:3000_10}
Solution
La première fois que vous lancez cette commande, Caddy devrait vous informer que les certificats ont bien été générés. Ce n'était pas mon cas.
En effet, j'avais bloqué les connexions entrantes de mon VPS au niveau d'AWS pour plus de sécurité. N'autorisant l'accès qu'à mon IP locale, tout autre site effectuant une requête vers mon API Nest était bloqué. La solution temporaire était d'autoriser toutes les connexions le temps de générer les certificats. La solution long-terme sera d'autoriser uniquement les serveurs de Let's Encrypt à accéder au VPS.