Comment installer un certificat SSL Let's Encrypt standard dans une instance Lightsail ?

Date de la dernière mise à jour : 20/10/2021

Comment installer un certificat SSL standard pour un site Web hébergé dans une instance Amazon Lightsail qui n'utilise pas de pile Bitnami ?

Brève description

La résolution suivante couvre l'installation d'un certificat SSL Let's Encrypt standard pour les sites Web hébergés dans des instances Lightsail qui n'utilisent pas de pile Bitnami. Des exemples de ces plans d'instance incluent Amazon Linux 2, Ubuntu, etc. Si vous disposez d'un plan d'instance différent ou si vous souhaitez installer un certificat standard, consultez l'un des éléments suivants :

Certificats Let's Encrypt standard

Pour plus d'informations sur l'installation d'un certificat SSL Let's Encrypt standard (pas un certificat générique) dans une instance Lightsail avec une pile Bitnami, telle que WordPress, LAMP, Magento, etc., consultez Comment installer un certificat SSL Let's Encrypt standard dans une pile Bitnami hébergée dans Amazon Lightsail ?

Certificats Let's Encrypt génériques (par exemple, *.example.com)

Pour plus d'informations sur l'installation d'un certificat Let's Encrypt générique dans une instance Lightsail avec une pile Bitnami, telle que WordPress, Lamp, Magento, MEAN, etc., consultez Comment installer un certificat SSL Let's Encrypt générique dans une pile Bitnami hébergée sur Amazon Lightsail ?

Pour plus d'informations sur l'installation d'un certificat Let's Encrypt générique dans une instance Lightsail qui n'utilise pas de pile Bitnami, telle qu'Amazon Linux 2, Ubuntu, etc., consultez Comment installer un certificat SSL Let's Encrypt générique dans Amazon Lightsail ?

Résolution

Conditions préalables et limites

  • Les étapes suivantes couvrent l'installation du certificat dans le serveur. Vous devez effectuer manuellement des étapes supplémentaires, telles que la configuration du certificat et la configuration de la redirection HTTPS.
  • Assurez-vous que le domaine pointe vers l'instance Lightsail directement ou via un équilibreur de charge ou une distribution. Pour que la vérification du certificat soit terminée, assurez-vous que l'URL du site Web ne renvoie pas d'erreurs provenant de l'équilibreur de charge ou de la distribution dans le navigateur Web.

Remarque : Cette méthode nécessite d'abord l'installation de l'outil Certbot. Pour obtenir des instructions d'installation, consultez Comment installer le package Certbot dans une instance Lightsail pour l'installation de Let's Encrypt ?

1.    Arrêtez le service Web en cours d'exécution dans l’instance. Voici des exemples de commandes pour différentes distributions Linux :

Service Web Apache dans des distributions Linux telles qu'Amazon Linux2, CentOS, etc.

sudo service httpd stop

Service Web Apache dans des distributions Linux telles que Ubuntu, Debian, etc.

sudo service apache2 stop

Service Web NGINX

sudo service nginx stop

2.    Exécutez la commande suivante pour installer le certificat SSL. Veillez à remplacer exemple.com par le nom de domaine.

sudo certbot certonly --standalone -d example.com -d www.example.com

Une fois le certificat SSL généré avec succès, vous recevez le message « Successfully received certificate » (Certificat reçu avec succès). Les emplacements des certificats et des fichiers de clé sont également fournis. Enregistrez ces emplacements de fichiers dans un bloc-notes pour les utiliser à l'étape 5.

3.    Démarrez le service Web. Voici des exemples de commandes pour différentes distributions Linux :

Service Web Apache dans des distributions Linux telles qu'Amazon Linux 2, CentOS, etc.

sudo service httpd start

Service Web Apache dans des distributions Linux telles que Ubuntu, Debian, etc.

sudo service apache2 start

Service Web NGINX

sudo service nginx start

4.    Configurez le renouvellement automatique des certificats.

Si le package Certbot est installé à l'aide de snapd, le renouvellement est configuré automatiquement dans les temporisateurs systemd ou les tâches cronjobs. Toutefois, comme le service Web doit être arrêté avant d'exécuter la commande Certbot, vous devez automatiser l'arrêt et le démarrage du service Web. Pour configurer cette automatisation, exécutez les commandes suivantes. L'exemple suivant utilise Apache2 en tant que service Web. Remplacez le code et la commande stop-start en fonction du service Web.

sudo sh -c 'printf "#!/bin/sh\n service apache2 stop \n" > /etc/letsencrypt/renewal-hooks/pre/webservice.sh'
sudo sh -c 'printf "#!/bin/sh\n service apache2 start \n" > /etc/letsencrypt/renewal-hooks/post/webservice.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/*/webservice.sh

Si la distribution Linux est Amazon Linux 2 ou FreeBSD, le package Certbot n'est pas installé à l'aide de snapd. Dans ce cas, vous devez configurer le renouvellement manuellement en exécutant la commande suivante. L'exemple suivant utilise Apache2 en tant que service Web. Remplacez le code et la commande stop-start en fonction du service Web.

echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --pre-hook 'service apache2 stop' --post-hook 'service apache2 start'" | sudo tee -a /etc/crontab > /dev/null

5.     Seule la configuration de l'installation et du renouvellement du certificat est terminée. Vous devez toujours configurer le serveur Web pour utiliser ce certificat et configurer la redirection HTTPS. Cette configuration varie et dépend de la configuration du serveur Web que vous avez dans l’instance. Consultez la documentation officielle du service Web pour obtenir des instructions sur la réalisation de ces étapes.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?