Paramétrage du Reverse Proxy avec installation des certificats
Nous avons déjà procédé à l’installation de Cerbot
Vous pouvez passer directement à l’étape suivante.</spa>
Certbot est un outil gratuit et open-source utilisé pour obtenir et renouveler des certificats SSL/TLS à partir de l'autorité de certification Let's Encrypt. Certbot automatise le processus d'obtention et de renouvellement des certificats SSL/TLS, ce qui facilite la sécurisation des sites web pour les propriétaires de sites.
Connexion en administrateur root :
su root
Installation de snapd (gestionnaire de paquets) :
apt install snapd
snap install core; snap refresh core
Installation de cerbot :
snap install --classic certbot
Création d’un lien symbolique :
ln -s /snap/bin/certbot /usr/bin/certbot
Avec cette procédure on modifie automatiquement le fichier .conf pour le http (port 80) et on génère le fichier .conf pour le https (port 443).
Configuration du Reverse Proxy pour le HTTP
Exemple de configuration du Reverse Proxy Apache ou l’on associe le nom de domaine exemple.memoirevive79.mooo.com au serveur ayant l’IP 192.168.2.79.
Dans le dossier /etc/apache2/sites-available
cd /etc/apache2/sites-available
Créer le fichier exemple.conf
nano exemple.conf
<VirtualHost *:80>
ServerName exemple.memoirevive79.mooo.com
ProxyPreserveHost On
ProxyRequests On
ProxyPass / http://192.168.2.79/
ProxyPassReverse / http://192.168.2.79
</VirtualHost>
Pour quitter nano et enregistrer les modifications [CRTL] + [X] ==> [O] ==> [Entrée]
Puis l’activer (une seule fois suffit) :
a2ensite exemple.conf
Puis relancer Apache :
systemctl reload apache2
Vérifier qu’il n’y a pas de problèmes :
tail -f /var/log/syslog
Pour quitter [CTRL] + [C]
Installation des certificats Let’s Encrypt sur le Reverse Proxy pour le HTTPS
Pour obtenir et installer les certificats
Exécutez cette commande pour obtenir un certificat et demandez à Certbot de modifier automatiquement votre configuration apache en activant l'accès HTTPS en une seule étape.
Dans mon cas en administrateur : certbot --apache -d exemple.memoirevive79.mooo.com
Virtualhost pour le port 80 HTTP qui a été modifié automatiquement.
<VirtualHost *:80>
ServerName exemple.memoirevive79.mooo.com
ProxyPreserveHost On
ProxyRequests On
ProxyPass / http://192.168.2.79/
ProxyPassReverse / http://192.168.2.79
RewriteEngine on
RewriteCond %{SERVER_NAME} =exemple.memoirevive79.mooo.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Virtualhost pour le port 443 HTTPS créé automatiquement dans le fichier exemple-le-ssl.conf
cat /etc/apache2/sites-available/exemple-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName exemple.memoirevive79.mooo.com
ProxyPreserveHost On
ProxyRequests On
ProxyPass / http://192.168.2.79/
ProxyPassReverse / http://192.168.2.79
SSLCertificateFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Tester l'accès en HTTPS
Je peux ensuite tester l’accès avec http://exemple.memoirevive79.mooo.com et https://exemple.memoirevive79.mooo.com
Le site correspondant au nom de domaine exemple.memoirevive79.mooo.com doit exister sur le serveur ayant l’IP 192.168.1.79.
En cas de problèmes
Redémarrage d’Apache en administrateur :
systemctl reload apache2
Pour contrôler qu’il n’y a pas d’erreurs au redémarrage :
tail -f /var/log/syslog
[CTRL] + [C] pour quitter.