Paramétrage du Reverse Proxy avec installation des certificats

De Wiki de Mémoire Vive
Révision datée du 20 février 2023 à 19:25 par 192.168.2.1 (discussion)
Aller à la navigation Aller à la recherche

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 que j’ai ajouté au fichier exemple.conf.

En administrateur :

nano /etc/apache2/sites-available/exemple.conf

<VirtualHost *:443>

ServerName exemple.memoirevive79.mooo.com

ProxyPreserveHost On

ProxyRequests On

SSLEngine On

LogLevel warn

SSLCertificateFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/fullchain.pem

SSLCertificateKeyFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/privkey.pem

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]

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.


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.