Différences entre les versions de « Paramétrage du Reverse Proxy avec installation des certificats »

De Wiki de Mémoire Vive
Aller à la navigation Aller à la recherche
Balise : Révocation manuelle
 
(20 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
<span style="color: #0000FF;"><big>'''Nous avons déjà procédé à l’installation de Cerbot sur le Reverse Proxy Apache de notre serveur'''</big>
<span style="color: #FF0000;">'''Vous pouvez passer directement à l’étape suivante.'''</span>
<span style="color: #196f3d;">''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.''</span>
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
----
<span style="color: #FF0000;">'''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).'''</span>
<span style="color: #0000FF;"><big>'''Configuration du Reverse Proxy pour le HTTP'''</big>
<span style="color: #0000FF;"><big>'''Configuration du Reverse Proxy pour le HTTP'''</big>


''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.''
<span style="color: #196f3d;">''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'''.''</span>


Dans le dossier /etc/apache2/sites-available
Dans le dossier /etc/apache2/sites-available
Ligne 11 : Ligne 39 :
'''nano exemple.conf'''
'''nano exemple.conf'''


<span style="color: #196f3d;"><VirtualHost *:80>
<span style="color: #196f3d;"><VirtualHost *:80>
   
  <span style="color: #196f3d;">ServerName exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">ServerName exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">ProxyPreserveHost On
 
  <span style="color: #196f3d;">ProxyRequests On
<span style="color: #196f3d;">ProxyPreserveHost On
  <span style="color: #196f3d;">ProxyPass / <nowiki>http://192.168.2.79/</nowiki>
   
<span style="color: #196f3d;">ProxyPassReverse / <nowiki>http://192.168.2.79</nowiki>
<span style="color: #196f3d;">ProxyRequests On
<span style="color: #196f3d;"></VirtualHost>
   
<span style="color: #196f3d;">ProxyPass / <nowiki>http://192.168.2.79/</nowiki>
 
<span style="color: #196f3d;">ProxyPassReverse / <nowiki>http://192.168.2.79</nowiki>
 
<span style="color: #196f3d;"></VirtualHost>
Pour quitter nano et enregistrer les modifications '''[CRTL]''' + '''[X]''' ==> '''[O]''' ==> '''[Entrée]'''
Pour quitter nano et enregistrer les modifications '''[CRTL]''' + '''[X]''' ==> '''[O]''' ==> '''[Entrée]'''
   
   
Ligne 52 : Ligne 73 :


<span style="color: #FF0000;">Virtualhost pour le port 80 HTTP qui a été modifié automatiquement.</span>
<span style="color: #FF0000;">Virtualhost pour le port 80 HTTP qui a été modifié automatiquement.</span>
<span style="color: #196f3d;"><VirtualHost *:80>
<span style="color: #196f3d;">ServerName exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">ProxyPreserveHost On
<span style="color: #196f3d;">ProxyRequests On
<span style="color: #196f3d;">ProxyPass / <nowiki>http://192.168.2.79/</nowiki>
<span style="color: #196f3d;">ProxyPassReverse / <nowiki>http://192.168.2.79</nowiki>
<span style="color: #196f3d;">RewriteEngine on
<span style="color: #196f3d;">RewriteCond %{SERVER_NAME} =exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">RewriteRule ^ <nowiki>https://%{SERVER_NAME}%{REQUEST_URI}</nowiki> [END,NE,R=permanent]
<span style="color: #196f3d;"></VirtualHost>
<span style="color: #FF0000;">Virtualhost pour le port 443 HTTPS créé automatiquement dans le fichier exemple-le-ssl.conf


<span style="color: #196f3d;"><VirtualHost *:80>
'''cat /etc/apache2/sites-available/exemple-le-ssl.conf'''
<span style="color: #196f3d;">ServerName exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">ProxyPreserveHost On
<span style="color: #196f3d;">ProxyRequests On
<span style="color: #196f3d;">ProxyPass / <nowiki>http://192.168.2.79/</nowiki>


<span style="color: #196f3d;">ProxyPassReverse / <nowiki>http://192.168.2.79</nowiki>
<span style="color: #196f3d;"><IfModule mod_ssl.c>
<span style="color: #196f3d;"><VirtualHost *:443>
<span style="color: #196f3d;">ServerName exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">ProxyPreserveHost On
<span style="color: #196f3d;">ProxyRequests On
<span style="color: #196f3d;">ProxyPass / <nowiki>http://192.168.2.79/</nowiki>
<span style="color: #196f3d;">ProxyPassReverse / <nowiki>http://192.168.2.79</nowiki>
<span style="color: #196f3d;">SSLCertificateFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/fullchain.pem
<span style="color: #196f3d;">SSLCertificateKeyFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/privkey.pem
<span style="color: #196f3d;">Include /etc/letsencrypt/options-ssl-apache.conf
<span style="color: #196f3d;"></VirtualHost>
<span style="color: #196f3d;"></IfModule>


<span style="color: #196f3d;">RewriteEngine on
<span style="color: #0000FF;"><big>'''Tester l'accès en HTTPS'''</big>
<span style="color: #196f3d;">RewriteCond %{SERVER_NAME} =exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">RewriteRule ^ <nowiki>https://%{SERVER_NAME}%{REQUEST_URI}</nowiki> [END,NE,R=permanent]
<span style="color: #196f3d;"></VirtualHost>


<span style="color: #FF0000;">Virtualhost pour le port 443 HTTPS que j’ai ajouté au fichier exemple.conf.</span>
Je peux ensuite tester l’accès avec <nowiki>http://exemple.memoirevive79.mooo.com</nowiki> et <nowiki>https://exemple.memoirevive79.mooo.com</nowiki>


En administrateur :
''Le site correspondant au nom de domaine exemple.memoirevive79.mooo.com doit exister sur le serveur ayant l’IP 192.168.1.79.''


'''nano /etc/apache2/sites-available/exemple.conf'''
[[Fichier:Reverse Proxy Apache 443.PNG]]


<span style="color: #196f3d;"><VirtualHost *:443>
----
<span style="color: #196f3d;">ServerName exemple.memoirevive79.mooo.com
<span style="color: #196f3d;">ProxyPreserveHost On
 
<span style="color: #196f3d;">ProxyRequests On
<span style="color: #196f3d;">SSLEngine On
 
<span style="color: #196f3d;">LogLevel warn
 
<span style="color: #196f3d;">SSLCertificateFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/fullchain.pem
<span style="color: #196f3d;">SSLCertificateKeyFile /etc/letsencrypt/live/exemple.memoirevive79.mooo.com/privkey.pem
<span style="color: #196f3d;">ProxyPass / <nowiki>http://192.168.2.79/</nowiki>
 
<span style="color: #196f3d;">ProxyPassReverse / <nowiki>http://192.168.2.79</nowiki>
<span style="color: #196f3d;"></VirtualHost>


Pour quitter nano et enregistrer les modifications '''[CRTL]''' + '''[X]''' ==> '''[O]''' ==> '''[Entrée]'''
<span style="color: #0000FF;"><big>'''En cas de problèmes'''</big>


Redémarrage d’Apache en administrateur :
Redémarrage d’Apache en administrateur :
Ligne 112 : Ligne 121 :


'''[CTRL]''' + '''[C]''' pour quitter.
'''[CTRL]''' + '''[C]''' pour quitter.
----
<span style="color: #0000FF;"><big>'''Tester l'accès en HTTPS'''</big>
Je peux ensuite tester l’accès avec <nowiki>http://exemple.memoirevive79.mooo.com</nowiki>
et <nowiki>https://exemple.memoirevive79.mooo.com</nowiki>
''Le site correspondant au nom de domaine exemple.memoirevive79.mooo.com doit exister sur le serveur ayant l’IP 192.168.1.79.''

Version actuelle datée du 8 mai 2023 à 16:33

Nous avons déjà procédé à l’installation de Cerbot sur le Reverse Proxy Apache de notre serveur

Vous pouvez passer directement à l’étape suivante.

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.

Reverse Proxy Apache 443.PNG


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.