kb:linux:apache2:reverse_proxy_avec_https
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
kb:linux:apache2:reverse_proxy_avec_https [2016/12/21 15:11] – modification externe 127.0.0.1 | 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==== | ||
- | apt-get install apache2 | + | 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. |
- | a2enmod | + | L' |
- | a2enmod proxy_http | + | |
- | a2enmod rewrite | + | |
- | a2enmod ssl | + | |
- | a2dissite 000-default.conf | + | ====Installation et Configuration==== |
- | a2dissite default-tls.conf | + | |
- | nano / | + | Il faut évidemment installer Apache2 pour effectuer la manipulation |
< | < | ||
- | <VirtualHost *:443> | + | # apt-get install apache2 |
+ | </code> | ||
- | # Décommentez cette ligne et indiquez-y l' | + | Puis activer les mods Apache2 pour effectuer le Reverse Proxy et le HTTPS |
- | # | + | |
- | # Classique, votre nom de domaine | + | < |
- | ServerName wiki.virtit.fr | + | # a2enmod proxy |
+ | # a2enmod proxy_http | ||
+ | # a2enmod rewrite | ||
+ | # a2enmod ssl | ||
+ | # a2enmod headers | ||
+ | </ | ||
- | # Si jamais vous avez d' | + | Puis on désactive |
- | # Vous pouvez utiliser le joker * pour prendre en compte tout les sous-domaines | + | |
- | # | + | |
- | # L' | + | < |
- | ErrorLog / | + | # a2dissite 000-default.conf |
- | LogLevel warn | + | # a2dissite default-tls.conf |
- | CustomLog | + | </code> |
- | # SSL magic | + | Puis il reste juste à créer la configuration du site |
- | # | + | |
- | # Il est nécessaire d' | + | |
- | SSLEngine On | + | |
- | # On autorise uniquement les clefs de cryptage longue (high) et moyenne (medium) | + | < |
- | # SSLCipherSuite HIGH:MEDIUM | + | # nano / |
+ | </ | ||
- | # On autorise SSLV3 et TLSv1, on rejette le vieux SSLv2 | + | Et rentré ceci avec les modifications adéquates |
- | # SSLProtocol all -SSLv2 | + | < |
+ | < | ||
+ | |||
+ | ######### | ||
+ | ServerName domain.tld | ||
- | # La clef publique du serveur : | + | ########### |
- | SSLCertificateFile / | + | # Il est nécessaire d' |
+ | SSLEngine On | ||
- | # La clef privée | + | # Les clefs du serveur : |
- | SSLCertificateKeyFile | + | SSLCertificateFile |
+ | SSLCertificateKeyFile / | ||
- | # Theses lines only apply of the rewrite module is enabled. | + | # On autorise TLSv1.2, on rejette les autres |
- | # This is a security enhancement recommanded by the nessus tool. | + | SSLProtocol |
- | < | + | |
- | RewriteEngine | + | |
- | 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. | + | # On autorise uniquement les algos de chiffrement élevé (high). |
- | ProxyRequests Off | + | SSLCipherSuite HIGH: |
- | # Cetet option passe les nom d'hte au serveur, ce qui vous permet d' | + | |
- | ProxyPreserveHost On | + | Header always set Strict-Transport-Security " |
+ | |||
+ | ########## | ||
+ | < | ||
+ | RewriteEngine on | ||
+ | RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) | ||
+ | RewriteRule .* - [F] | ||
+ | </ | ||
- | # Les lignes classiques de proxy. Comme dit au dessus, on passe le flux en http. | + | < |
- | ProxyPass / http://monsite.lan/ | + | < |
- | ProxyPassReverse / http://monsite.lan/ | + | ProxyRequests Off |
- | RewriteRule ^/(.*) http://monsite.lan/$1 [P,L] | + | ProxyPreserveHost On |
+ | ProxyPass / http://domain.lan/ | ||
+ | ProxyPassReverse / http://domain.lan/ | ||
+ | RewriteRule ^/(.*) http://domain.lan/$1 [P,L] | ||
+ | </ | ||
+ | </ | ||
- | </ | + | < |
- | </ | + | Order deny, |
- | + | Allow from all | |
- | # Autoriser l' | + | </ |
- | #Ne l' | + | |
- | < | + | |
- | Order deny, | + | |
- | Allow from all | + | |
- | </ | + | |
+ | |||
+ | ########### | ||
+ | ErrorLog / | ||
+ | LogLevel warn | ||
+ | CustomLog / | ||
+ | |||
</ | </ | ||
+ | # Redirection des requettes HTTP vers l' | ||
< | < | ||
- | # 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 |
- | ServerName | + | |
- | # | + | < |
+ | RewriteEngine on | ||
+ | RewriteCond %{REQUEST_METHOD} ^{TRACE|TRACK} | ||
+ | RewriteRule | ||
+ | </ | ||
- | # Theses lines only apply of the rewrite module is enabled. | + | Redirect permanent / https:// |
- | # This is a security enhancement recommanded by the nessus tool. | + | |
- | < | + | |
- | RewriteEngine on | + | |
- | RewriteCond %{REQUEST_METHOD} ^{TRACE|TRACK} | + | |
- | RewriteRule | + | |
- | </IfModule> | + | |
- | # On renvoit toutes les requtes HTTP vers l' | + | ########### |
- | Redirect permanent | + | ErrorLog |
+ | LogLevel warn | ||
+ | CustomLog | ||
</ | </ | ||
+ | |||
</ | </ | ||
+ | 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.1482333081.txt.gz · Dernière modification : 2017/12/09 00:19 (modification externe)