Comment puis-je renouveler un certificat SSL Let’s Encrypt dans une pile Bitnami hébergée sur une instance Lightsail ?

Lecture de 6 minute(s)
0

Le certificat SSL Let’s Encrypt installé pour mon site Web dans une instance Amazon Lightsail Bitnami est sur le point d’expirer.

Brève description

Les certificats SSL Let’s Encrypt expirent 90 jours après leur création. Si vous avez installé un certificat Let’s Encrypt standard en suivant les étapes décrites sur la page Comment installer un certificat SSL Let’s Encrypt sur une pile Bitnami hébergée sur Lightsail ?, le certificat SSL se renouvelle automatiquement. Cependant, le renouvellement automatique peut échouer s’il n’est pas configuré correctement.

Si vous avez installé les certificats Let’s Encrypt à caractère générique en suivant la méthode 2 de la page Comment puis-je installer un certificat SSL Let’s Encrypt à caractère générique sur une pile Bitnami hébergée sur Amazon Lightsail ?, vous devez renouveler le certificat manuellement. La méthode 2 ne prend pas en charge le renouvellement automatique.

La résolution suivante explique comment renouveler manuellement un certificat sur des instances Bitnami hébergées sur Lightsail, telles que WordPress, LAMP, Magento et MEAN.

Résolution

Identifier l’outil d’installation du certificat

Identifiez l’outil que vous avez utilisé pour installer le certificat. Pour identifier l’outil que vous avez utilisé pour installer le certificat SSL, procédez comme suit :

  1. Exécutez la commande suivante pour rechercher le fichier de certificat dans les répertoires /etc/letsencrypt et /opt/bitnami/letsencrypt. Veillez à remplacer **DOMAIN ** par votre nom de domaine.

    sudo grep -irl "$(openssl s_client -verify_quiet -showcerts -connect DOMAIN:443 2>/dev/null | sed -n '/BEGIN/,/END/{p;/END/q}' | head -n 3 | tail -n 2)" /opt/bitnami/letsencrypt /etc/letsencrypt
  2. Si le fichier de certificat se trouve dans les sous-répertoires de /opt/bitnami/letsencrypt, le certificat a probablement été installé avec le client bncert-tool ou Lego. Pour vérifier ce point, exécutez la commande suivante :

    sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Si la sortie de la commande de l’étape 1 correspond au chemin du certificat fourni par la deuxième commande, cela signifie que votre certificat a été installé avec bncert-tool ou Lego.

Si le fichier de certificat se trouve dans les sous-répertoires de /etc/letsencrypt, le certificat a probablement été installé avec Certbot. Pour vérifier ce point, exécutez la commande suivante :

sudo certbot certificates

Si la sortie de la commande de l’étape 1 correspond au chemin du certificat fourni par la commande certbot, cela signifie que votre certificat a été installé avec Certbot.

En fonction de l’outil identifié, suivez les étapes de résolution correspondantes.

Renouveler un certificat Let’s Encrypt installé avec l’outil bncert-tool ou Lego

Exécutez les commandes suivantes :

sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start

Pour toutes les commandes, remplacez EMAIL-ADDRESS et DOMAIN par les valeurs appropriées. Pour le champ EMAIL-ADDRESS, utilisez l’une de vos adresses e-mail professionnelles. Vous pouvez également vous servir de l’adresse e-mail que vous avez utilisée lors de l’installation du certificat. Vous pouvez récupérer l’e-mail que vous avez utilisé pour installer le certificat à l’aide de la commande suivante :

sudo ls /opt/bitnami/letsencrypt/accounts/acm*

Le cas échéant, confirmez le nom de domaine à l’aide de la commande suivante :

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Renouveler un certificat Let’s Encrypt installé avec l’outil Certbot

Exécutez la commande suivante pour déterminer la méthode d’authentification que vous avez utilisée pour installer le certificat. Remplacez DOMAIN par le nom de domaine principal de votre certificat :

sudo cat /etc/letsencrypt/renewal/DOMAIN.conf

Dans la sortie de commande, visualisez la valeur du paramètre d’authentification. En fonction de la valeur, suivez l’une des méthodes de renouvellement suivantes :

Si la valeur du paramètre d’authentification est autonome, webroot, apache, nginx, dns-route53 ou n’importe quelle valeur autre que manuel, effectuez le renouvellement à l’aide des commandes suivantes :

sudo /opt/bitnami/ctlscript.sh stop
sudo certbot renew
sudo /opt/bitnami/ctlscript.sh start

Ces commandes renouvellent tous les certificats installés qui doivent être renouvelés.

- ou -

Si la valeur du paramètre d**’authentification** est manuel et que la valeur du paramètre pref_challs est dns, il n’est pas possible de configurer un renouvellement automatique. Vous devez effectuer le renouvellement manuellement en suivant les étapes suivantes. Remarque : vous devez répéter cette étape chaque fois que vous renouvelez le certificat.

  1. Cette méthode nécessite l’ajout d’enregistrements TXT dans le fournisseur DNS du domaine. Il est recommandé d’exécuter les commandes dans Linux GNU Screen pour éviter que la session expire. Pour en savoir plus, consultez la page How to use Linux Screen.
    Pour démarrer une session Screen, saisissez la commande suivante :

    screen -S letsencrypt
  2. Exécutez la commande suivante et recherchez la valeur du paramètre Domaines. Remplacez DOMAIN par le nom de domaine principal de votre certificat :

    sudo certbot certificates -d DOMAIN
  3. Exécutez la commande suivante pour renouveler le certificat. Veillez à inclure chaque domaine que vous avez trouvé dans la commande précédente avec l’option -d dans le même ordre. Si vous ajoutez, supprimez ou modifiez l’ordre des domaines, il est possible qu’un nouveau certificat soit créé au lieu que le certificat d’origine soit renouvelé.

    sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal
  4. Une invite vous demande de vérifier que vous êtes bien propriétaire du domaine indiqué. Cette vérification consiste à ajouter des enregistrements TXT aux enregistrements DNS de votre domaine. Let’s Encrypt fournit un ou plusieurs enregistrements TXT que vous devez utiliser pour la vérification.

  5. Lorsque vous voyez un enregistrement TXT à l’écran, ajoutez l’enregistrement fourni dans le DNS de votre domaine.
    Important : n’appuyez pas sur Entrée tant que vous n’avez pas vérifié que l’enregistrement TXT est propagé au DNS Internet. N’appuyez pas sur CTRL+D, car cela met fin à la session d’écran en cours.

  6. Pour vérifier que l’enregistrement TXT est propagé au DNS Internet, recherchez-le à l’aide de DNS Text Lookup sur le site Web MX Toolbox. Saisissez le texte suivant dans la zone de texte et choisissez TXT Lookup pour lancer la vérification. Remplacez example.com par votre nom de domaine :

    _acme-challenge.example.com
  7. Si vos enregistrements TXT se sont propagés au DNS Internet, la valeur de l’enregistrement TXT s’affiche sur la page. Vous pouvez maintenant revenir à l’écran et appuyer sur ENTRÉE.

  8. Si vous êtes retiré du shell, revenez via l’écran à l’aide de la commande screen -r SESSIONID. Exécutez la commande screen -ls pour obtenir l’ID de session.

  9. Si l’invite Certbot vous demande d’ajouter un autre enregistrement TXT, effectuez à nouveau les étapes 5 à 8.

  10. Une fois le certificat SSL généré avec succès, vous recevez le message « Certificat reçu avec succès ».

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an