Après avoir obtenu le certificat SSL à l'aide de Let's Encrypt, j'ai mis en place le renouvellement automatique, mais je présenterai une solution lorsqu'une erreur se produit et qu'elle n'est pas automatiquement renouvelée.
・ Debian (GCP) -Obtenir un certificat SSL en utilisant Let's Encrypt et le convertir en https est terminé.
Le certificat SSL de Let's Encrypt ayant une date d'expiration de 3 mois, la commande nerve est périodiquement exécutée par crontab pour renouveler automatiquement le certificat.
crontab
certbot renew --post-hook "/etc/init.d/apache2 restart"
Il indique qu'il ne peut pas être mis à jour car le port est en cours d'utilisation. J'ai dû arrêter le serveur Web en cours d'exécution (service de mise à jour du certificat SSL), puis exécuter la commande de renouvellement.
WARNING:certbot.renewal:Attempting to renew cert from /etc/letsencrypt/renewal/SITE_URI.conf produced an unexpected error: At least one of the required ports is already taken.. Skipping.
crontab
certbot renew --pre-hook "/etc/init.d/apache2 stop" --post-hook "/etc/init.d/apache2 start"
Ajout de l'option --pre-hook à l'ancienne commande.
-Si ajouté à la crontab de l'utilisateur root, la commande sera exécutée avec les privilèges root. Lors de l'ajout à crontab d'un autre utilisateur, il est nécessaire d'ajouter sudo avant la commande comme "sudo /etc/init.d/apache2 restart".
・ Remplacez certbot renouveler par certbot-auto en fonction de l'environnement. Selon l'environnement, le répertoire de certbot peut être spécifié. Par exemple, / home / nom_utilisateur / certbot renouveler.