kb:linux:apache2:reverse_proxy_avec_https
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
kb:linux:apache2:reverse_proxy_avec_https [2017/05/24 14:34] – beu | kb:linux:apache2:reverse_proxy_avec_https [2020/03/30 11:47] (Version actuelle) – beu | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======Reverse Proxy avec HTTPS====== | ======Reverse Proxy avec HTTPS====== | ||
+ | ====Principe==== | ||
+ | Si vous souhaitez héberger sous une même IP plusieurs services WEB qui sont soit incompatibles entre eux (versions de PHP par exemple), ou bien que certains services sont critiques, il est peut être préférables de séparer ces services WEB dans des machines distinctes. | ||
+ | |||
+ | L' | ||
====Installation et Configuration==== | ====Installation et Configuration==== | ||
- | apt-get install apache2 | + | Il faut évidemment installer Apache2 pour effectuer la manipulation |
- | a2enmod proxy | + | < |
- | | + | # apt-get install apache2 |
- | | + | </ |
- | a2enmod ssl | + | |
- | a2dissite 000-default.conf | + | Puis activer les mods Apache2 pour effectuer le Reverse Proxy et le HTTPS |
- | a2dissite default-tls.conf | + | |
- | nano /etc/ | + | < |
+ | # a2enmod proxy | ||
+ | # a2enmod proxy_http | ||
+ | # a2enmod rewrite | ||
+ | # a2enmod ssl | ||
+ | # a2enmod headers | ||
+ | </code> | ||
+ | Puis on désactive les sites par défaut | ||
+ | |||
+ | < | ||
+ | # a2dissite 000-default.conf | ||
+ | # a2dissite default-tls.conf | ||
+ | </ | ||
+ | |||
+ | Puis il reste juste à créer la configuration du site | ||
+ | |||
+ | < | ||
+ | # nano / | ||
+ | </ | ||
+ | |||
+ | Et rentré ceci avec les modifications adéquates | ||
< | < | ||
< | < | ||
######### | ######### | ||
- | ServerName | + | ServerName |
- | Header always set Strict-Transport-Security " | + | |
- | + | ||
########### | ########### | ||
Ligne 29: | Ligne 49: | ||
# Les clefs du serveur : | # Les clefs du serveur : | ||
- | SSLCertificateFile /etc/letsencrypt/live/ | + | SSLCertificateFile /path/to/key/ |
- | SSLCertificateKeyFile /etc/letsencrypt/live/ | + | SSLCertificateKeyFile /path/to/key/ |
# On autorise TLSv1.2, on rejette les autres | # On autorise TLSv1.2, on rejette les autres | ||
SSLProtocol -all +TLSv1.2 | SSLProtocol -all +TLSv1.2 | ||
- | # On autorise uniquement les clefs de cryptage longue | + | # On autorise uniquement les algos de chiffrement élevé |
SSLCipherSuite HIGH: | SSLCipherSuite HIGH: | ||
+ | # On fournit l' | ||
+ | Header always set Strict-Transport-Security " | ||
########## | ########## | ||
Ligne 50: | Ligne 72: | ||
ProxyRequests Off | ProxyRequests Off | ||
ProxyPreserveHost On | ProxyPreserveHost On | ||
- | ProxyPass / http://wiki.virtit.lan/ | + | ProxyPass / http://domain.lan/ |
- | ProxyPassReverse / http://wiki.virtit.lan/ | + | ProxyPassReverse / http://domain.lan/ |
- | RewriteRule ^/(.*) http://wiki.virtit.lan/$1 [P,L] | + | RewriteRule ^/(.*) http://domain.lan/$1 [P,L] |
</ | </ | ||
</ | </ | ||
Ligne 63: | Ligne 85: | ||
########### | ########### | ||
- | ErrorLog / | + | ErrorLog / |
- | LogLevel warn< | + | LogLevel warn |
- | + | CustomLog / | |
- | # Décommentez cette ligne et indiquez-y l' | + | |
- | # | + | |
- | + | ||
- | # Classique, votre nom de domaine | + | |
- | ServerName wiki.virtit.fr | + | |
- | + | ||
- | # Si jamais vous avez d' | + | |
- | # Vous pouvez utiliser le joker * pour prendre en compte tout les sous-domaines | + | |
- | # | + | |
- | + | ||
- | # L' | + | |
- | ErrorLog / | + | |
- | LogLevel warn | + | |
- | CustomLog / | + | |
- | + | ||
- | # SSL magic | + | |
- | # | + | |
- | # Il est nécessaire d' | + | |
- | SSLEngine On | + | |
- | + | ||
- | # On autorise uniquement les clefs de cryptage longue (high) et moyenne (medium) | + | |
- | # SSLCipherSuite HIGH: | + | |
- | + | ||
- | # On autorise SSLV3 et TLSv1, on rejette le vieux SSLv2 | + | |
- | # SSLProtocol all -SSLv2 | + | |
- | + | ||
- | # La clef publique du serveur : | + | |
- | SSLCertificateFile / | + | |
- | + | ||
- | # La clef privée du serveur: | + | |
- | SSLCertificateKeyFile / | + | |
- | + | ||
- | # Theses lines only apply of the rewrite module is enabled. | + | |
- | # This is a security enhancement recommanded by the nessus tool. | + | |
- | < | + | |
- | RewriteEngine on | + | |
- | RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) | + | |
- | RewriteRule .* - [F] | + | |
- | </ | + | |
- | < | + | |
- | < | + | |
- | + | ||
- | #Ne commentez jamais cette ligne, elle évite que votre serveur soit utilisé comme proxy par des gens mal-intentionnés. | + | |
- | ProxyRequests Off | + | |
- | + | ||
- | # Cetet option passe les nom d'hte au serveur, ce qui vous permet d' | + | |
- | ProxyPreserveHost On | + | |
- | + | ||
- | # Les lignes classiques de proxy. Comme dit au dessus, on passe le flux en http. | + | |
- | ProxyPass / http:// | + | |
- | ProxyPassReverse / http:// | + | |
- | RewriteRule ^/(.*) http:// | + | |
- | + | ||
- | </ | + | |
- | </ | + | |
- | + | ||
- | # Autoriser l' | + | |
- | #Ne l' | + | |
- | < | + | |
- | Order deny, | + | |
- | Allow from all | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | + | ||
- | < | + | |
- | # Cette partie va permettre de rediriger d' | + | |
- | # Vous pouvez également configurer le proxy à la place de la règle de réécriture si vous voulez autoriser l' | + | |
- | ServerName monsite.tld | + | |
- | + | ||
- | # | + | |
- | + | ||
- | # Theses lines only apply of the rewrite module is enabled. | + | |
- | # This is a security enhancement recommanded by the nessus tool. | + | |
- | < | + | |
- | RewriteEngine on | + | |
- | RewriteCond %{REQUEST_METHOD} ^{TRACE|TRACK} | + | |
- | RewriteRule .* - [F] | + | |
- | </ | + | |
- | + | ||
- | # On renvoit toutes les requtes HTTP vers l' | + | |
- | Redirect permanent / https:// | + | |
- | + | ||
- | </ | + | |
- | CustomLog / | + | |
</ | </ | ||
Ligne 158: | Ligne 94: | ||
< | < | ||
- | ServerName | + | ServerName |
< | < | ||
Ligne 166: | Ligne 102: | ||
</ | </ | ||
- | Redirect permanent / https://wiki.virtit.fr/ | + | Redirect permanent / https://domain.tld/ |
########### | ########### | ||
- | ErrorLog / | + | ErrorLog / |
LogLevel warn | LogLevel warn | ||
- | CustomLog / | + | CustomLog / |
</ | </ | ||
Ligne 177: | Ligne 113: | ||
</ | </ | ||
+ | Il suffira d' | ||
+ | |||
+ | < | ||
+ | # a2ensite monsite.conf | ||
+ | </ | ||
+ | |||
+ | puis de relancer apache2 | ||
+ | |||
+ | < | ||
+ | # service apache2 restart | ||
+ | </ | ||
+ | Et le tour est joué! |
kb/linux/apache2/reverse_proxy_avec_https.1495636448.txt.gz · Dernière modification : 2017/12/09 00:19 (modification externe)