Comment installer un certificat SSL sur une pile Bitnami hébergée sur Amazon Lightsail ?

Date de la dernière mise à jour : 03/04/2020

Comment installer un certificat SSL sur une pile Bitnami hébergée sur Amazon Lightsail ?

Brève description

Vous pouvez générer un certificat SSL Let's Encrypt gratuit à l'aide du client Lego. Pour plus d'informations sur Let's Encrypt et le client Lego, consultez le client Let's Encrypt et la bibliothèque ACME sur le site web GitHub.

Solution

Création d'une instance Lightsail

1.    Ouvrez la console Lightsail, puis sélectionnez Créer une instance.

2.    Choisissez Linux pour la plateforme, choisissez WordPress pour le plan, puis choisissez Créer une instance.

3.    Créez une adresse IP statique et attachez-la à l'instance. Dans l'exemple suivant, 192.0.2.0 est l'adresse IP statique.

4.    Créez un enregistrement d'adresse (A) et pointez-le du domaine vers l'adresse IP.

5.    Exécutez une recherche DNS avec la commande host pour confirmer que le domaine est mappé à l'adresse IP statique :

$ host example.ie
example.ie has address 192.0.2.0

6.    Entrez votre domaine dans un navigateur web et vérifiez qu'il est accessible uniquement via HTTP et non HTTPS.

Exécutez l'outil de configuration HTTPS Bitnami

L'outil de configuration HTTPS Bitnami est inclus dans le répertoire /opt/bitnami/letsencrypt/directory sur Bitnami Stacks publié après le 10 mai 2019. L'outil exécute automatiquement les procédures suivantes :

Configure les certificats HTTPS sur les piles Bitnami
Crée des renouvellements automatiques de certificats
Configuration des redirections HTTP vers HTTPS

Exécutez la commande suivante pour lancer l'outil de configuration HTTPS Bitnami :

sudo /opt/bitnami/bncert-tool

Pour plus d'informations sur l'utilisation de cet outil ou pour télécharger l'outil, consultez En savoir plus sur l'outil de configuration HTTPS Bitnami sur le site web de la documentation Bitnami.

(Facultatif) Génération et configuration manuelles des certificats Let's Encrypt

Si l'outil de configuration HTTPS Bitnami n'est pas installé ou si le répertoire /opt/bitnami/letsencrypt/directory, est manquant, vous pouvez générer et configurer manuellement des certificats Let's Encrypt.

Pour plus d'informations sur la création et la configuration manuelles des certificats Let's Encrypt, consultez Générer et installer un certificat SSL Let's Encrypt pour une application Bitnami - Approche alternative sur le site web de la documentation Bitnami.

Remarque : les certificats SSL Let's Encrypt sont générés par le client Lego. Il se peut que le client ne soit pas installé sur les versions antérieures de Bitnami. Vérifiez si le client Lego est installé en recherchant le répertoire /opt/bitnami/letsencrypt/ :

ls -l /opt/bitnami/letsencrypt/
total 29244
-rwxr-xr-x 1 root root 29940480 Apr 18 18:42 lego
drwxr-xr-x 2 root root   4096 Apr 30 10:44 scripts

(Facultatif) Configuration manuelle de la redirection HTTP vers HTTPS

Pour forcer la redirection HTTP vers HTTPS, modifiez la partie hôte virtuel du fichier de configuration Apache. Pour les images WordPress Bitnami, ce fichier se trouve à l'emplacement /opt/bitnami/apache2/conf/bitnami/bitnami.conf.

1.    Modifiez la configuration Apache pour inclure les lignes suivantes :

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

Voici un exemple de configuration Apache modifiée :

$ sudo vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
  DocumentRoot "/opt/bitnami/apache2/htdocs"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]

2.    Redémarrez les services Bitnami pour que les modifications prennent effet :

$ sudo /opt/bitnami/ctlscript.sh restart
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
/opt/bitnami/php/scripts/ctl.sh : php-fpm stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql stopped
/opt/bitnami/mysql/scripts/ctl.sh : mysql  started at port 3306
/opt/bitnami/php/scripts/ctl.sh : php-fpm started
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80

À partir de la ligne de commande, vous pouvez vérifier que la redirection HTTP vers HTTPS fonctionne à l'aide de la commande suivante :

$ curl -Ilkv example.ie
* Rebuilt URL to: example.ie/
*   Trying 192.0.2.0...
* TCP_NODELAY set
* Connected to example.ie (192.0.2.0) port 80 (#0)
> HEAD / HTTP/1.1
> Host: example.ie
> User-Agent: curl/7.53.1
> Accept: */*
> 
< HTTP/1.1 302 Found
HTTP/1.1 302 Found
< Date: Thu, 20 Jun 2019 14:53:04 GMT
Date: Thu, 20 Jun 2019 14:53:04 GMT
< Server: Apache
Server: Apache
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< Location: https://example.ie/
Location: https://example.ie/
< Content-Type: text/html; charset=iso-8859-1
Content-Type: text/html; charset=iso-8859-1
* Connection #0 to host example.ie left intact

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

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?