

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Sécurisez votre site Web Lightsail NGINX avec Let's Encrypt SSL/TLS
<a name="amazon-lightsail-using-lets-encrypt-certificates-with-nginx"></a>

Amazon Lightsail facilite la sécurisation de vos sites Web et applications à l' SSL/TLS aide des équilibreurs de charge Lightsail. Cependant, l'utilisation d'un équilibreur de charge Lightsail n'est généralement pas le bon choix. Peut-être votre site n'a pas besoin de l'évolutivité ou de la tolérance aux pannes que les équilibreurs de charge fournissent, ou peut-être que vous optimisez les coûts.

Dans ce dernier cas, vous pouvez envisager l'utilisation de Let's Encrypt pour obtenir un certificat SSL gratuit. Si c'est le cas, aucun problème. Vous pouvez intégrer ces certificats aux instances de Lightsail. Ce didacticiel vous montre comment demander un certificat générique Let's Encrypt avec Certbot et comment l'intégrer à votre instance Nginx.

## Identifiez votre fournisseur de blueprint Nginx
<a name="get-nginx-vendor"></a>

 Voici quelques étapes à suivre pour démarrer une fois que votre instance Nginx sera opérationnelle sur Amazon Lightsail. Avant de commencer, identifiez le fournisseur de votre Blueprint sur votre page de gestion des instances : 

![\[Fournisseur de Blueprint Nginx sur la page de gestion des instances\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/headers/nginx-blueprint-vendor.png)


Sélectionnez le guide approprié pour votre instance Nginx :

------
#### [ Bitnami ]

**Important**  
La distribution Linux utilisée par les instances Bitnami a changé d'Ubuntu à Debian en juillet 2020. En raison de cette modification, certaines étapes de ce didacticiel diffèrent en fonction de la distribution Linux de votre instance. Toutes les instances du plan Bitnami créées après la modification utilisent la distribution Linux Debian. Les instances créées avant la modification continueront à utiliser la distribution Ubuntu Linux. Pour vérifier la distribution de votre instance, exécutez la commande `uname -a `. La réponse affichera Ubuntu ou Debian comme distribution Linux de votre instance.
Bitnami est en train de modifier la structure des fichiers pour bon nombre de leurs piles. Les chemins d'accès aux fichiers de ce tutoriel peuvent changer selon que votre pile Bitnami utilise des packages système Linux natifs (Approche A) ou s'il s'agit d'une installation autonome (Approche B). Pour identifier votre type d'installation Bitnami et l'approche à suivre, exécutez la commande suivante :  
`test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."`

**Table des matières**
+ [Étape 1 : Exécuter les prérequis](#complete-the-prerequisites-lets-encrypt-nginx)
+ [Étape 2 : installer Certbot sur votre instance Lightsail](#install-certbot-on-your-instance-nginx)
+ [Étape 3 : Demander un certificat générique SSL Let's Encrypt](#request-a-lets-encrypt-certificate-nginx)
+ [Étape 4 : Ajouter des enregistrements TXT à la zone DNS de votre domaine](#add-a-text-record-to-your-domains-dns-zone-lets-encrypt-nginx)
+ [Étape 5 : Confirmer que les enregistrements TXT ont été propagés](#confirm-the-text-records-have-propagated-lets-encrypt-nginx)
+ [Étape 6 : Terminer la demande de certificat SSL Let's Encrypt](#complete-the-lets-encrypt-certificate-request-nginx)
+  [Étape 7 : créer des liens vers les fichiers de certificat Let's Encrypt dans le répertoire du serveur NGINX](#link-the-lets-encrypt-certificate-files-in-the-nginx-directory-nginx) 
+ [Étape 8 : Configurer la redirection de HTTP vers HTTPS pour votre application Web](#configure-http-to-https-redirection-nginx)
+ [Étape 9 : Renouveler les certificats de Let's Encrypt tous les 90 jours](#renew-a-lets-encrypt-certificate-nginx)

## Étape 1 : Exécuter les prérequis
<a name="complete-the-prerequisites-lets-encrypt-nginx"></a>

Remplissez les prérequis suivants, si vous ne l'avez pas déjà fait :
+ Créez une instance Nginx dans Lightsail. Pour en savoir plus, veuillez consulter [Créer une instance](how-to-create-amazon-lightsail-instance-virtual-private-server-vps.md).
+ Enregistrez un nom de domaine et obtenez un accès administratif pour modifier ses enregistrements DNS. Pour en savoir plus, veuillez consulter [DNS](understanding-dns-in-amazon-lightsail.md).
**Note**  
Nous vous recommandons de gérer les enregistrements DNS de votre domaine à l'aide d'une zone DNS Lightsail. Pour en savoir plus, veuillez consulter [Créer une zone DNS pour gérer les enregistrements DNS de votre domaine](lightsail-how-to-create-dns-entry.md).
+ Utilisez le terminal SSH basé sur un navigateur dans la console Lightsail pour effectuer les étapes de ce didacticiel. Cependant, vous pouvez également utiliser votre propre client SSH, tel que PuTTY. Pour en savoir plus sur la configuration de PuTTY, consultez [Télécharger et configurer PuTTY pour vous connecter via SSH dans](lightsail-how-to-set-up-putty-to-connect-using-ssh.md) Amazon Lightsail.

Après avoir terminé les procédures des prérequis, passez à la [section suivante](#install-certbot-on-your-instance-nginx).

## Étape 2 : installer Certbot sur votre instance Lightsail
<a name="install-certbot-on-your-instance-nginx"></a>

Certbot est un client utilisé pour demander un certificat à partir de Let's Encrypt et le déployer sur un serveur Web. Let's Encrypt utilise le protocole ACME pour émettre des certificats, et Certbot est un client activé pour ACME qui interagit avec Let's Encrypt.

**Pour installer Certbot sur votre instance Lightsail**

1. Connectez-vous à la console [Lightsail](https://lightsail.aws.amazon.com/).

1. Dans le volet de navigation de gauche, choisissez l'icône de connexion rapide SSH pour l'instance à laquelle vous souhaitez vous connecter.  
![\[Connexion rapide SSH sur la page d'accueil de Lightsail.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/resource_cards/nginx-ssh-quick-connect.png)

1. Une fois que votre session SSH basée sur le navigateur Lightsail est connectée, entrez la commande suivante pour mettre à jour les packages de votre instance :

   ```
   sudo apt-get update
   ```  
![\[Mettre à jour les packages sur votre instance.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-nginx-update-packages.png)

1. Saisissez la commande suivante pour installer le package de propriétés du logiciel. Les développeurs de Certbot utilisent des dépôts Personal Package Archive (PPA) pour diffuser Certbot. Le package de propriétés du logiciel rend son utilisation plus efficace PPAs.

   ```
   sudo apt-get install software-properties-common
   ```
**Note**  
Si vous rencontrez une erreur `Could not get lock` lors de l'exécution de la commande `sudo apt-get install`, patientez environ 15 minutes, puis réessayez. Cette erreur peut être provoquée par une tâche cron qui utilise l'outil gestionnaire de package APT afin d'installer des mises à niveau automatiques.

1. Entrez la commande suivante pour ajouter Certbot au référentiel apt local :
**Note**  
L'étape 5 s'applique uniquement aux instances qui utilisent la distribution Ubuntu Linux. Ignorez cette étape si votre instance utilise la distribution Debian Linux.

   ```
   sudo apt-add-repository ppa:certbot/certbot -y
   ```

1. Entrez la commande suivante pour mettre à jour apt pour inclure le nouveau référentiel :

   ```
   sudo apt-get update -y
   ```

1. Entrez la commande suivante pour installer Certbot :

   ```
   sudo apt-get install certbot -y
   ```

   Certbot est désormais installé sur votre instance Lightsail.

1. Conservez le terminal SSH basé sur navigateur ouverte, vous y reviendrez ultérieurement dans ce didacticiel. Passez à la [section suivante](#request-a-lets-encrypt-certificate-nginx).

## Étape 3 : Demander un certificat générique SSL Let's Encrypt
<a name="request-a-lets-encrypt-certificate-nginx"></a>

Commencez le processus de demande d'un certificat à partir de Let's Encrypt. A l'aide de Certbot, demandez un certificat générique, ce qui vous permet d'utiliser un seul certificat pour un domaine et ses sous-domaines. Par exemple, un seul certificat générique pour le domaine de premier niveau `example.com` et les sous-domaines `blog.example.com` et `stuff.example.com`.

**Pour demander un certificat générique SSL Let's Encrypt**

1. Dans la même fenêtre du terminal SSH basé sur navigateur que celle utilisée à l'[étape 2](#install-certbot-on-your-instance-nginx), entrez les commandes suivantes pour définir une variable d'environnement pour votre domaine. Vous pouvez désormais copier et coller les commandes plus efficacement pour obtenir le certificat. N'oubliez pas de remplacer `domain` par le nom de votre nom de domaine enregistré.

   ```
   DOMAIN=domain
   ```

   ```
   WILDCARD=*.$DOMAIN
   ```

   Exemple :

   ```
   DOMAIN=example.com
   ```

   ```
   WILDCARD=*.$DOMAIN
   ```

1. Entrez la commande suivante pour confirmer que les variables renvoient les valeurs appropriées :

   ```
   echo $DOMAIN && echo $WILDCARD
   ```

   Le résultat doit ressembler à ce qui suit :  
![\[Confirmer les variables d'environnement de domaine.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-confirm-variables.png)

1. Entrez la commande suivante pour démarrer Certbot en mode interactif. Cette commande indique à Certbot d'utiliser une méthode d'autorisation manuelle avec des défis DNS afin de vérifier la propriété du domaine. Elle demande un certificat générique pour votre domaine de premier niveau, ainsi que ses sous-domaines.

   ```
   sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
   ```

1. Entrez votre adresse e-mail lorsque vous y êtes invité, car elle est utilisée pour le renouvellement et les notes de sécurité.

1. Lisez les conditions de service Let's Encrypt. Lorsque vous avez terminé, appuyez sur A si vous acceptez. Si vous n'approuvez pas, vous ne pouvez pas obtenir de certificat Let's Encrypt.

1. Répondre en conséquence à l'invite pour partager votre adresse e-mail et à l'avertissement à propos de votre adresse IP en cours de journalisation.

1. Let's Encrypt vous invite maintenant à vérifier que vous possédez le domaine spécifié. Pour ce faire, vous devez ajouter des enregistrements TXT aux enregistrements DNS pour votre domaine. Un ensemble de valeurs d'enregistrement TXT est fourni, comme illustré dans l'exemple suivant :
**Note**  
Let's Encrypt peut fournir un ou plusieurs enregistrements TXT que vous devez utiliser pour la vérification. Dans cet exemple, nous avons reçu deux enregistrements TXT à utiliser pour la vérification.  
![\[Enregistrements TXT pour les certificats Let's Encrypt.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/ssh/lets-encrypt-text-records.png)

1. Maintenez ouverte la session SSH basée sur le navigateur Lightsail. Vous y reviendrez plus tard dans ce didacticiel. Passez à la [section suivante](#add-a-text-record-to-your-domains-dns-zone-lets-encrypt-nginx).

## Étape 4 : Ajouter des enregistrements TXT à la zone DNS de votre domaine
<a name="add-a-text-record-to-your-domains-dns-zone-lets-encrypt-nginx"></a>

Le fait d’ajouter un enregistrement TXT à la zone DNS de votre domaine permet de vérifier que le domaine vous appartient. À des fins de démonstration, nous utilisons la zone DNS Lightsail. Toutefois, les étapes peuvent être similaires pour d'autres zones DNS généralement hébergées par des bureaux d'enregistrement de domaine.

**Note**  
Pour en savoir plus sur la création d'une zone DNS Lightsail pour votre domaine, [consultez Création d'une zone DNS pour gérer les enregistrements DNS de votre domaine](lightsail-how-to-create-dns-entry.md) dans Lightsail.

**Pour ajouter des enregistrements TXT à la zone DNS de votre domaine dans Lightsail**

1. Dans le volet de navigation de gauche, choisissez les **domaines et le DNS**.

1. Sous la section **DNS zones** de la page, choisissez la zone DNS pour le domaine que vous avez spécifié dans la demande de certificat Certbot.

1. Dans l'éditeur de zone DNS, choisissez **DNS records** (Enregistrements DNS).

1. Choisissez **Ajouter un enregistrement**.

1. Dans le menu déroulant **Record type** (Type d'enregistrement), choisissez **TXT record** (Enregistrement TXT).

1. Entrez les valeurs spécifiées par la demande de certificat Let's Encrypt dans les champs **Record** (Nom de l'enregistrement) et **Responds with** (Répond par).
**Note**  
La console Lightsail préremplit la partie apex de votre domaine. Par exemple, si vous souhaitez ajouter le sous-domaine `_acme-challenge.example.com`, il vous suffit d'entrer `_acme-challenge` dans la zone de texte et Lightsail ajoute la partie `.example.com` pour vous lorsque vous enregistrez l'enregistrement.

1. Choisissez **Enregistrer**.

1. Répétez les étapes 4 à 7 pour ajouter le second ensemble d'enregistrements TXT spécifié par la demande de certificat Let's Encrypt.

1. Gardez la fenêtre du navigateur de la console Lightsail ouverte. Vous y reviendrez plus tard dans ce didacticiel. Passez à la [section suivante](#confirm-the-text-records-have-propagated-lets-encrypt-nginx).

## Étape 5 : Confirmer que les enregistrements TXT ont été propagés
<a name="confirm-the-text-records-have-propagated-lets-encrypt-nginx"></a>

Utilisez l' MxToolbox utilitaire pour vérifier que les enregistrements TXT se sont propagés au DNS d'Internet. La propagation d'un enregistrement DNS peut prendre un certain temps en fonction de votre fournisseur d'hébergement DNS et le time-to-live (TTL) configuré pour vos enregistrements DNS. Il est important de terminer cette étape et de confirmer que vos enregistrements TXT ont été propagés avant de poursuivre votre demande de certificat Certbot. Sinon, votre demande de certificat échoue.

**Pour vérifier que les enregistrements TXT ont été propagés au DNS d'Internet**

1. Ouvrez une nouvelle fenêtre de navigateur et accédez à [https://mxtoolbox.com/TXTLookup.aspx.](https://mxtoolbox.com/TXTLookup.aspx)

1. Saisissez le texte suivant dans la zone de texte. Assurez-vous de remplacer `domain` par votre domaine.

   ```
   _acme-challenge.domain
   ```

   Exemple :

   ```
   _acme-challenge.example.com
   ```  
![\[MxToolbox Recherche d'enregistrements TXT.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/mxtoolbox-text-record-lookup.png)

1. Choisissez **Recherche TXT** pour exécuter la vérification.

1. L'une des réponses suivantes se produit :
   + Si vos enregistrements TXT ont été propagés au DNS d'Internet, vous voyez une réponse similaire à celle indiquée dans la capture d'écran suivante. Fermez la fenêtre du navigateur et passez à la [section suivante](#complete-the-lets-encrypt-certificate-request-nginx).  
![\[Confirmation que les enregistrements TXT ont été propagés.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/mxtoolbox-propagated-text-record-lookup.png)
   + Si vos enregistrements TXT n'ont pas été propagés au DNS d'Internet, vous voyez une réponse **Enregistrement DNS introuvable**. Vérifiez que vous avez ajouté les enregistrements DNS appropriés à la zone DNS de vos domaines. Si vous avez ajouté les bons enregistrements, attendez un peu plus longtemps pour laisser les enregistrements DNS de votre domaine se propager et exécutez la recherche TXT à nouveau.

## Étape 6 : Terminer la demande de certificat SSL Let's Encrypt
<a name="complete-the-lets-encrypt-certificate-request-nginx"></a>

Revenez à la session SSH basée sur le navigateur Lightsail pour votre instance Nginx et complétez la demande de certificat Let's Encrypt. Certbot enregistre votre certificat SSL, la chaîne, et les fichiers clés dans un répertoire spécifique sur votre instance Nginx.

**Pour terminer la demande de certificat SSL Let's Encrypt**

1. Dans la session SSH basée sur le navigateur Lightsail pour votre instance Nginx, **appuyez** sur Entrée pour poursuivre votre demande de certificat SSL Let's Encrypt. En cas de réussite, une réponse similaire à celle affichée dans la capture d'écran suivante apparait :  
![\[Demande de certificat Let's Encrypt réussie.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-certificate-request-success.png)

   Le message confirme que votre certificat, la chaîne et les fichiers clés sont stockés dans le répertoire `/etc/letsencrypt/live/domain/`. Assurez-vous de remplacer `domain` par votre domaine, tel que `/etc/letsencrypt/live/example.com/`.

1. Notez la date d'expiration spécifiée dans le message. Vous l'utiliserez pour renouveler votre certificat avant cette date.  
![\[Date de renouvellement du certificat Let's Encrypt.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/certificate-renewal-date.png)

1. Maintenant que vous disposez du certificat SSL Let's Encrypt, passez à la [section suivante](#link-the-lets-encrypt-certificate-files-in-the-nginx-directory-nginx).

## Étape 7 : créer des liens vers les fichiers de certificat Let's Encrypt dans le répertoire du serveur NGINX
<a name="link-the-lets-encrypt-certificate-files-in-the-nginx-directory-nginx"></a>

Créez des liens vers les fichiers de certificat SSL Let's Encrypt dans le répertoire du serveur NGINX sur votre instance Nginx. En outre, sauvegardez vos certificats existants, au cas où vous en auriez besoin plus tard.

**Pour créer des liens vers les fichiers de certificat Let's Encrypt dans le répertoire du serveur NGINX**

1. Dans la session SSH basée sur le navigateur Lightsail pour votre instance Nginx, entrez la commande suivante pour arrêter les services sous-jacents :

   ```
   sudo /opt/bitnami/ctlscript.sh stop
   ```

   La réponse devrait être similaire à ce qui suit :  
![\[Instance services stopped. (Services d'instances arrêtés.)\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-nginx-stop-services.png)

1. Entrez la commande suivante pour définir une variable d'environnement pour votre domaine. Vous pouvez copier et coller plus efficacement les commandes pour créer un lien vers les fichiers de certificat. N'oubliez pas de remplacer `domain` par le nom de votre domaine enregistré.

   ```
   DOMAIN=domain
   ```

   Exemple :

   ```
   DOMAIN=example.com
   ```

1. Entrez la commande suivante pour confirmer que les variables renvoient les valeurs appropriées :

   ```
   echo $DOMAIN
   ```

   Le résultat doit ressembler à ce qui suit :  
![\[Vérifiez la variable d'environnement de domaine.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-confirm-domain-variable.png)

1. Entrez les commandes suivantes individuellement pour renommer vos fichiers de certificat existants en tant que sauvegardes. Reportez-vous au bloc **Important** au début de ce tutoriel pour obtenir des informations sur les différentes distributions et structures de fichiers.
   + Pour les distributions Debian Linux

     Approche A (installations Bitnami utilisant des packages système) :

     ```
     sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old
     ```

     ```
     sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old
     ```

     Approche B (installations Bitnami autonomes) :

     ```
     sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old
     ```

     ```
     sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old
     ```
   + Pour les instances plus anciennes qui utilisent la distribution Ubuntu Linux :

     ```
     sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old
     ```

     ```
     sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old
     ```

1. Entrez les commandes suivantes individuellement pour créer des liens vers vos fichiers de certificat Let's Encrypt dans le répertoire du serveur NGINX. Reportez-vous au bloc **Important** au début de ce tutoriel pour obtenir des informations sur les différentes distributions et structures de fichiers.
   + Pour les distributions Debian Linux

     Approche A (installations Bitnami utilisant des packages système) :

     ```
     sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key
     ```

     ```
     sudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt
     ```

     Approche B (installations Bitnami autonomes) :

     ```
     sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/nginx/conf/server.key
     ```

     ```
     sudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/server.crt
     ```
   + Pour les instances plus anciennes qui utilisent la distribution Ubuntu Linux :

     ```
     sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key
     ```

     ```
     sudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt
     ```

1. Saisissez la commande suivante pour démarrer les services sous-jacents que vous avez arrêtés précédemment :

   ```
   sudo /opt/bitnami/ctlscript.sh start
   ```

   Le résultat doit ressembler à ce qui suit :  
![\[Instance services started. (Services d'instances démarrés.)\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-nginx-start-services.png)

   Votre instance Nginx est maintenant configurée pour utiliser le chiffrement SSL. Toutefois, le trafic n'est pas automatiquement redirigé de HTTP vers HTTPS.

1. Passez à la [section suivante](#configure-http-to-https-redirection-nginx).

## Étape 8 : Configurer la redirection de HTTP vers HTTPS pour votre application Web
<a name="configure-http-to-https-redirection-nginx"></a>

Vous pouvez configurer une redirection de HTTP vers HTTPS pour votre instance Nginx. La redirection automatique de HTTP vers HTTPS rend votre site uniquement accessible par vos clients à l'aide de SSL, même lorsqu'ils se connectent à l'aide de HTTP. Reportez-vous au bloc Important au début de ce tutoriel pour plus d'informations sur les différentes distributions et structures de fichiers.

Ce tutoriel utilise Vim à des fins de démonstration ; cependant, vous pouvez utiliser n'importe quel éditeur de texte de votre choix.

**Pour les distributions Debian Linux, configurez la redirection de HTTP vers HTTPS pour votre application Web.**

**Approche A (installations Bitnami utilisant des packages système) :**

1. Dans la session SSH basée sur le navigateur Lightsail pour votre instance Nginx, entrez la commande suivante pour modifier le fichier de configuration du bloc serveur. Remplacez `<ApplicationName>` par le nom de votre application.

   ```
   sudo vim /opt/bitnami/nginx/conf/server_blocks/<ApplicationName>-server-block.conf
   ```

1. Appuyez sur `i` pour entrer en mode insertion dans l'éditeur Vim.

1. Modifiez le fichier avec les informations de l'exemple suivant :  
![\[Fichier de configuration du bloc du serveur d'application.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/using-le-certs-1.png)

1. Appuyez sur la touche **ÉCHAP**, puis saisissez `:wq` pour écrire (enregistrer) vos modifications et quitter Vim.

1. Entrez la commande suivante pour modifier la section serveur du fichier de configuration NGINX :

   ```
   sudo vim /opt/bitnami/nginx/conf/nginx.conf
   ```

1. Appuyez sur `i` pour entrer en mode insertion dans l'éditeur Vim.

1. Modifiez le fichier avec les informations de l'exemple suivant :  
![\[Fichier de configuration NGINX.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/using-le-certs-2.png)

1. Appuyez sur la touche **ÉCHAP**, puis saisissez `:wq` pour écrire (enregistrer) vos modifications et quitter Vim.

1. Entrez la commande suivante pour redémarrer les services sous-jacents et rendre vos modifications efficaces :

   ```
   sudo /opt/bitnami/ctlscript.sh restart
   ```

**Approche B (installations Bitnami autonomes) :**

1. Dans la session SSH basée sur le navigateur Lightsail pour votre instance Nginx, entrez la commande suivante pour modifier la section serveur du fichier de configuration NGINX :

   ```
   sudo vim /opt/bitnami/nginx/conf/nginx.conf
   ```

1. Appuyez sur `i` pour entrer en mode insertion dans l'éditeur Vim.

1. Modifiez le fichier avec les informations de l'exemple suivant :  
![\[Fichier de configuration NGINX.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/using-le-certs-2.png)

1. Appuyez sur la touche **ÉCHAP**, puis saisissez `:wq` pour écrire (enregistrer) vos modifications et quitter Vim.

1. Entrez la commande suivante pour redémarrer les services sous-jacents et rendre vos modifications efficaces :

   ```
   sudo /opt/bitnami/ctlscript.sh restart
   ```

**Pour les instances plus anciennes qui utilisent la distribution Ubuntu Linux, configurez la redirection de HTTP vers HTTPS pour votre application Web.**

1. Dans la session SSH basée sur le navigateur Lightsail pour votre instance Nginx, entrez la commande suivante pour modifier le fichier de configuration du serveur Web NGINX à l'aide de l'éditeur de texte Vim :

   ```
   sudo vim /opt/bitnami/nginx/conf/bitnami/bitnami.conf
   ```

1. Appuyez sur `i` pour entrer en mode insertion dans l'éditeur Vim.

1. Dans le fichier, saisissez le texte suivant entre `server_name localhost;` et `include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf";` :

   ```
   return 301 https://$host$request_uri;
   ```

   Le résultat doit avoir l’aspect suivant :  
![\[Fichier de configuration NGINX édité pour la redirection HTTP vers HTTPS.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/bitnami-nginx-config-file.png)

1. Appuyez sur la touche **ÉCHAP**, puis saisissez `:wq` pour écrire (enregistrer) vos modifications et quitter Vim.

1. Entrez la commande suivante pour redémarrer les services sous-jacents et rendre vos modifications efficaces :

   ```
   sudo /opt/bitnami/ctlscript.sh restart
   ```

   Votre instance Nginx est maintenant configurée pour rediriger automatiquement les connexions depuis HTTP vers HTTPS. Lorsqu'un visiteur se rend sur `http://www.example.com`, il est automatiquement redirigé vers l'adresse chiffrée `https://www.example.com`.

## Étape 9 : Renouveler les certificats de Let's Encrypt tous les 90 jours
<a name="renew-a-lets-encrypt-certificate-nginx"></a>

Les certificats Let's Encrypt sont valides pendant 90 jours. Ils peuvent être renouvelés 30 jours avant leur expiration. Pour renouveler les certificats Let's Encrypt, exécutez la commande initiale ayant permis de les obtenir. Effectuez à nouveau la procédure décrite à l'étape [Demander un certificat générique SSL Let's Encrypt](#request-a-lets-encrypt-certificate-nginx).

------
#### [ Lightsail ]

**Table des matières**
+  [Étape 1 : Compléter les prérequis](#complete-the-prerequisites) 
+  [Étape 2 : installer Certbot sur votre instance Lightsail](#install-certbot-on-your-instance) 
+  [Étape 3 : demander un certificat générique SSL Let's Encrypt](#request-a-lets-encrypt-certificate) 
+  [Étape 4 : ajouter des enregistrements TXT à la zone DNS de votre domaine](#add-a-text-record-to-your-domains-dns-zone-lets-encrypt) 
+  [Étape 5 : Vérifiez que les enregistrements TXT se sont propagés](#confirm-the-text-records-have-propagated-lets-encrypt) 
+  [Étape 6 : Compléter la demande de certificat SSL Let's Encrypt](#complete-the-lets-encrypt-certificate-request) 
+  [Étape 7 : Mettre à jour la configuration SSL dans NGINX et rediriger le trafic de HTTP vers HTTPS](#update-ssl-configuration) 
+  [Étape 8 : Renouvelez les certificats Let's Encrypt tous les 90 jours](#renew-a-lets-encrypt-certificate) 

## Étape 1 : Exécuter les prérequis
<a name="complete-the-prerequisites"></a>

Remplissez les prérequis suivants, si vous ne l'avez pas déjà fait :
+  Créez une instance Nginx dans Lightsail. Pour en savoir plus, consultez la section [Créer une instance](how-to-create-amazon-lightsail-instance-virtual-private-server-vps.md). 
+  Enregistrez un nom de domaine et obtenez un accès administratif pour modifier ses enregistrements DNS. Pour en savoir plus, veuillez consulter [DNS](understanding-dns-in-amazon-lightsail.md). 
**Note**  
 Nous vous recommandons de gérer les enregistrements DNS de votre domaine à l'aide d'une zone DNS Lightsail. Pour en savoir plus, consultez [Créer une zone DNS pour gérer les enregistrements DNS de votre domaine](lightsail-how-to-create-dns-entry.md). 
+  Utilisez le terminal SSH basé sur un navigateur dans la console Lightsail pour effectuer les étapes décrites dans ce didacticiel :   
![\[Connexion rapide SSH sur la page d'accueil de Lightsail.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/resource_cards/nginx-ssh-quick-connect.png)
**Note**  
 Vous pouvez également utiliser votre propre client SSH, tel que PuTTY. Pour en savoir plus sur la configuration de PuTTY, consultez [Télécharger et configurer PuTTY pour vous connecter via SSH dans](lightsail-how-to-set-up-putty-to-connect-using-ssh.md) Amazon Lightsail. 

## Étape 2 : installer Certbot sur votre instance Lightsail
<a name="install-certbot-on-your-instance"></a>

 Certbot est un client utilisé pour demander un certificat à partir de Let's Encrypt et le déployer sur un serveur Web. Let's Encrypt utilise le protocole ACME pour émettre des certificats, et Certbot est un client compatible ACME qui interagit avec Let's Encrypt. 

**Pour installer Certbot sur votre instance Lightsail**

1.  Connectez-vous à votre instance à l'aide d'un client SSH, par exemple le terminal SSH basé sur le navigateur Lightsail. Entrez la commande suivante pour mettre à jour les packages de votre instance : 

   ```
   sudo apt-get update
   ```

1.  Saisissez la commande suivante pour installer le package de propriétés du logiciel. Les développeurs de Certbot utilisent des dépôts Personal Package Archive (PPA) pour diffuser Certbot. Le package de propriétés du logiciel rend son utilisation plus efficace PPAs. 

   ```
   sudo apt-get install software-properties-common -y
   ```

1. Entrez la commande suivante pour mettre à jour apt pour inclure le nouveau référentiel :

   ```
   sudo apt-get update -y
   ```

1. Entrez la commande suivante pour installer Certbot :

   ```
   sudo apt-get install certbot -y
   ```

   Certbot est désormais installé sur votre instance Lightsail.

## Étape 3 : Demander un certificat générique SSL Let's Encrypt
<a name="request-a-lets-encrypt-certificate"></a>

 Commencez le processus de demande d'un certificat à partir de Let's Encrypt. A l'aide de Certbot, demandez un certificat générique, ce qui vous permet d'utiliser un seul certificat pour un domaine et ses sous-domaines. Par exemple, un seul certificat générique pour le domaine de premier niveau `example.com` et les sous-domaines `blog.example.com` et `stuff.example.com`.

**Pour demander un certificat générique SSL Let's Encrypt**

1.  Dans la même fenêtre du terminal SSH basé sur navigateur que celle utilisée à l'[étape 2](#install-certbot-on-your-instance), entrez les commandes suivantes pour définir une variable d'environnement pour votre domaine. Vous pouvez désormais copier et coller les commandes plus efficacement pour obtenir le certificat. N'oubliez pas de remplacer `domain` par le nom de votre nom de domaine enregistré. 

   ```
   DOMAIN=domain
   WILDCARD=*.$DOMAIN
   ```

   Exemple :

   ```
   DOMAIN=example.com
   WILDCARD=*.$DOMAIN
   ```

1. Entrez la commande suivante pour confirmer que les variables renvoient les valeurs appropriées :

   ```
   echo $DOMAIN && echo $WILDCARD
   ```

   Le résultat doit ressembler à ce qui suit :  
![\[Confirmer les variables d'environnement de domaine.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/confirm-variables.png)

1.  Entrez la commande suivante pour démarrer Certbot en mode interactif. Cette commande indique à Certbot d'utiliser une méthode d'autorisation manuelle avec des défis DNS afin de vérifier la propriété du domaine. Elle demande un certificat générique pour votre domaine de premier niveau, ainsi que ses sous-domaines. 

   ```
   sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
   ```

1. Entrez votre adresse e-mail lorsque vous y êtes invité, car elle est utilisée pour le renouvellement et les notes de sécurité.

1.  Lisez les conditions de service Let's Encrypt. Lorsque vous avez terminé, appuyez sur Y si vous êtes d'accord. Si vous n'approuvez pas, vous ne pouvez pas obtenir de certificat Let's Encrypt. 

1.  Répondre en conséquence à l'invite pour partager votre adresse e-mail et à l'avertissement à propos de votre adresse IP en cours de journalisation. 

1.  Let's Encrypt vous invite maintenant à vérifier que vous possédez le domaine spécifié. Pour ce faire, vous devez ajouter des enregistrements TXT aux enregistrements DNS pour votre domaine. Un ensemble de valeurs d'enregistrement TXT est fourni, comme illustré dans l'exemple suivant : 
**Note**  
 Let's Encrypt peut fournir un ou plusieurs enregistrements TXT que vous devez utiliser pour la vérification. Dans cet exemple, nous avons reçu deux enregistrements TXT à utiliser pour la vérification.   
![\[Enregistrements TXT pour les certificats Let's Encrypt.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/get-TXT-records.png)

1.  Maintenez ouverte la session SSH basée sur le navigateur Lightsail. Vous y reviendrez plus tard dans ce didacticiel. Passez à la [section suivante](#add-a-text-record-to-your-domains-dns-zone-lets-encrypt) de ce didacticiel. 

## Étape 4 : Ajouter des enregistrements TXT à la zone DNS de votre domaine
<a name="add-a-text-record-to-your-domains-dns-zone-lets-encrypt"></a>

 Le fait d’ajouter un enregistrement TXT à la zone DNS de votre domaine permet de vérifier que le domaine vous appartient. À des fins de démonstration, nous utilisons la zone DNS Lightsail. Toutefois, les étapes peuvent être similaires pour d'autres zones DNS généralement hébergées par des bureaux d'enregistrement de domaine. 

**Note**  
 Pour en savoir plus sur la création d'une zone DNS Lightsail pour votre domaine, [consultez Création d'une zone DNS pour gérer les enregistrements DNS de votre domaine](lightsail-how-to-create-dns-entry.md) dans Lightsail. 

**Pour ajouter des enregistrements TXT à la zone DNS de votre domaine dans Lightsail**

1. Dans le volet de navigation de gauche, choisissez les **domaines et le DNS**.

1.  Sous la section **DNS zones** de la page, choisissez la zone DNS pour le domaine que vous avez spécifié dans la demande de certificat Certbot. 

1. Dans l'éditeur de zone DNS, choisissez **DNS records** (Enregistrements DNS).

1. Choisissez **Ajouter un enregistrement**.

1.  Dans le menu déroulant **Record type** (Type d'enregistrement), choisissez **TXT record** (Enregistrement TXT). 

1.  Entrez les valeurs spécifiées par la demande de certificat Let's Encrypt dans les champs **Record** (Nom de l'enregistrement) et **Responds with** (Répond par). 
**Note**  
 La console Lightsail préremplit la partie apex de votre domaine. Par exemple, si vous souhaitez ajouter le sous-domaine `_acme-challenge.example.com`, il vous suffit d'entrer `_acme-challenge` dans la zone de texte et Lightsail ajoute la partie `.example.com` pour vous lorsque vous enregistrez l'enregistrement. 

1. Choisissez **Enregistrer**.

1.  Répétez les étapes 4 à 7 pour ajouter le second ensemble d'enregistrements TXT spécifié par la demande de certificat Let's Encrypt. 

1.  Gardez la fenêtre du navigateur de la console Lightsail ouverte. Vous y reviendrez plus tard dans ce didacticiel. Passez à la [section suivante](#confirm-the-text-records-have-propagated-lets-encrypt) de ce didacticiel. 

## Étape 5 : Confirmer que les enregistrements TXT ont été propagés
<a name="confirm-the-text-records-have-propagated-lets-encrypt"></a>

 Utilisez l' MxToolbox utilitaire pour vérifier que les enregistrements TXT se sont propagés au DNS d'Internet. La propagation d'un enregistrement DNS peut prendre un certain temps en fonction de votre fournisseur d'hébergement DNS et le time-to-live (TTL) configuré pour vos enregistrements DNS. Il est important de terminer cette étape et de confirmer que vos enregistrements TXT ont été propagés avant de poursuivre votre demande de certificat Certbot. Sinon, votre demande de certificat échoue. 

**Pour vérifier que les enregistrements TXT ont été propagés au DNS d'Internet**

1.  Ouvrez une nouvelle fenêtre de navigateur et accédez à [https://mxtoolbox.com/TXTLookup.aspx.](https://mxtoolbox.com/TXTLookup.aspx) 

1.  Saisissez le texte suivant dans la zone de texte. Assurez-vous de remplacer `domain` par votre domaine. 

   ```
   _acme-challenge.domain
   ```

   Exemple :

   ```
   _acme-challenge.example.com
   ```  
![\[MxToolbox Recherche d'enregistrements TXT.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/mxtoolbox-text-record-lookup.png)

1. Choisissez **Recherche TXT** pour exécuter la vérification.

1. L'une des réponses suivantes se produit :
   +  Si vos enregistrements TXT ont été propagés au DNS d'Internet, vous voyez une réponse similaire à celle indiquée dans la capture d'écran suivante. Fermez la fenêtre du navigateur et passez à la [section suivante](#complete-the-lets-encrypt-certificate-request-nginx).   
![\[Confirmation que les enregistrements TXT ont été propagés.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/mxtoolbox-propagated-text-record-lookup.png)
   +  Si vos enregistrements TXT n'ont pas été propagés au DNS d'Internet, vous voyez une réponse **Enregistrement DNS introuvable**. Vérifiez que vous avez ajouté les enregistrements DNS appropriés à la zone DNS de vos domaines. Si vous avez ajouté les bons enregistrements, attendez un peu plus longtemps pour laisser les enregistrements DNS de votre domaine se propager et exécutez la recherche TXT à nouveau. 

## Étape 6 : Terminer la demande de certificat SSL Let's Encrypt
<a name="complete-the-lets-encrypt-certificate-request"></a>

 Revenez à la session SSH basée sur le navigateur Lightsail pour votre instance et complétez la demande de certificat Let's Encrypt. Certbot enregistre votre certificat SSL, votre chaîne et vos fichiers clés dans un répertoire spécifique de votre instance.

**Pour terminer la demande de certificat SSL Let's Encrypt**

1.  Dans la session SSH basée sur le navigateur Lightsail pour votre instance, **appuyez** sur Entrée pour poursuivre votre demande de certificat SSL Let's Encrypt. En cas de réussite, une réponse similaire à celle affichée dans la capture d'écran suivante apparait :   
![\[Demande de certificat Let's Encrypt réussie.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/certificate-request-success.png)

    Le message confirme que votre certificat, la chaîne et les fichiers clés sont stockés dans le répertoire `/etc/letsencrypt/live/domain/`. Assurez-vous de remplacer `domain` par votre domaine, tel que `/etc/letsencrypt/live/example.com/`. 

1.  Notez la date d'expiration spécifiée dans le message. Vous l'utiliserez pour renouveler votre certificat avant cette date.   
![\[Date de renouvellement du certificat Let's Encrypt.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/certificate-renewal-date.png)

## Étape 7 : Mettre à jour la configuration SSL dans NGINX et rediriger le trafic de HTTP vers HTTPS
<a name="update-ssl-configuration"></a>

**Pour mettre à jour la configuration SSL dans le fichier default.conf de NGINX**

1.  Dans la session SSH de votre instance Nginx, entrez la commande suivante pour arrêter les services sous-jacents : 

   ```
   sudo systemctl stop nginx
   sudo systemctl stop mariadb
   sudo systemctl stop php8.2-fpm
   ```

   La réponse devrait être similaire à ce qui suit :  
![\[Les services d'instance Nginx se sont arrêtés.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/nginx-stop-services.png)

1.  Entrez la commande suivante pour définir une variable d'environnement pour votre domaine. Vous pouvez copier et coller plus efficacement les commandes pour créer un lien vers les fichiers de certificat. N'oubliez pas de remplacer `domain` par le nom de votre domaine enregistré. 

   ```
   DOMAIN=domain
   ```

   Exemple :

   ```
   DOMAIN=example.com
   ```

1. Entrez la commande suivante pour confirmer que les variables renvoient les valeurs appropriées :

   ```
   echo $DOMAIN
   ```

   Le résultat doit ressembler à ce qui suit :  
![\[Vérifiez la variable d'environnement de domaine.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/confirm-domain-variable.png)

1. Exécutez la commande ci-dessous pour modifier la configuration SSL :

   ```
   sudo sed \
   -i -e "s|ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem|ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem|g" \
   -i -e "s|ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key|ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem|g" \
   /etc/nginx/conf.d/default.conf
   ```

1.  Après avoir remplacé le `default.conf` fichier, exécutez les commandes ci-dessous pour vérifier la configuration et redémarrer NGINX

   ```
   sudo nginx -t
   sudo systemctl restart nginx
   sudo systemctl restart mariadb
   sudo systemctl restart php8.2-fpm
   ```

   Le résultat doit ressembler à ce qui suit :  
![\[Les services d'instance Nginx ont démarré.\]](http://docs.aws.amazon.com/fr_fr/lightsail/latest/userguide/images/instances/lets-encrypt/nginx-start-services.png)

    Votre instance Nginx est désormais configurée pour utiliser le cryptage SSL et le trafic est redirigé de HTTP vers HTTPS 

## Étape 8 : Renouvelez les certificats Let's Encrypt tous les 90 jours
<a name="renew-a-lets-encrypt-certificate"></a>

 Les certificats Let's Encrypt sont valides pendant 90 jours. Ils peuvent être renouvelés 30 jours avant leur expiration. Pour renouveler le certificat Let's Encrypt, répétez l'[étape 3 : demander un certificat générique SSL Let's Encrypt](#request-a-lets-encrypt-certificate-nginx). 

------