kb:linux:apache2:reverse_proxy_avec_https
Ceci est une ancienne révision du document !
Reverse Proxy avec HTTPS
Installation et Configuration
apt-get install apache2
a2enmod proxy a2enmod proxy_http a2enmod rewrite a2enmod ssl
a2dissite 000-default.conf a2dissite default-tls.conf
nano /etc/apache2/site-available/monsite.conf
<VirtualHost *:443> #########GENERAL######### ServerName wiki.virtit.fr Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;" ###########SSL########### # Il est nécessaire d'activer SSL, sinon c'est http qui sera utilisé SSLEngine On # Les clefs du serveur : SSLCertificateFile /etc/letsencrypt/live/wiki.virtit.fr/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/wiki.virtit.fr/privkey.pem # On autorise TLSv1.2, on rejette les autres SSLProtocol -all +TLSv1.2 # On autorise uniquement les clefs de cryptage longue (high). SSLCipherSuite HIGH:!kRSA:!kDHr:!kDHd:!kSRP:!aNULL:!3DES:!MD5 ##########PROXY########## <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] </IfModule> <IfModule mod_rewrite.c> <IfModule mod_proxy.c> ProxyRequests Off ProxyPreserveHost On ProxyPass / http://wiki.virtit.lan/ ProxyPassReverse / http://wiki.virtit.lan/ RewriteRule ^/(.*) http://wiki.virtit.lan/$1 [P,L] </IfModule> </IfModule> <Location /> Order deny,allow Allow from all </Location> ###########LOG########### ErrorLog /var/log/apache2/wiki.tld-error.log LogLevel warn<VirtualHost *:443> # Décommentez cette ligne et indiquez-y l'adresse courriel de l'administrateur du site #ServerAdmin webmaster@my-domain.com # Classique, votre nom de domaine ServerName wiki.virtit.fr # Si jamais vous avez d'autres domaines renvoyant sur ce site, utilisez la dircetive ServerAlias # Vous pouvez utiliser le joker * pour prendre en compte tout les sous-domaines #ServerAlias www2.my-domain.com www.my-other-domain.com *.yet-another-domain.com # L'emplacement des logs. ErrorLog /var/log/apache2/wiki.tld-error.log LogLevel warn CustomLog /var/log/apache2/wiki.tld-access.log combined # SSL magic # # Il est nécessaire d'activer SSL, sinon c'est http qui sera utilisé SSLEngine On # On autorise uniquement les clefs de cryptage longue (high) et moyenne (medium) # SSLCipherSuite HIGH:MEDIUM # On autorise SSLV3 et TLSv1, on rejette le vieux SSLv2 # SSLProtocol all -SSLv2 # La clef publique du serveur : SSLCertificateFile /etc/letsencrypt/live/monsite.tld/fullchain.pem # La clef privée du serveur: SSLCertificateKeyFile /etc/letsencrypt/live/monsite.tld/privkey.pem # Theses lines only apply of the rewrite module is enabled. # This is a security enhancement recommanded by the nessus tool. <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] </IfModule> <IfModule mod_rewrite.c> <IfModule mod_proxy.c> #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'utiliser également des htes virtuels sur le serveur principal. ProxyPreserveHost On # Les lignes classiques de proxy. Comme dit au dessus, on passe le flux en http. ProxyPass / http://monsite.lan/ ProxyPassReverse / http://monsite.lan/ RewriteRule ^/(.*) http://monsite.lan/$1 [P,L] </IfModule> </IfModule> # Autoriser l'accès au contenu à travers le proxy. #Ne l'enlevez pas si vous voulez que le site fonctionne ! <Location /> Order deny,allow Allow from all </Location> </VirtualHost> <VirtualHost *:80> # Cette partie va permettre de rediriger d'éventuelles requtes en HTTP vers l'HTTPS # Vous pouvez également configurer le proxy à la place de la règle de réécriture si vous voulez autoriser l'accès en HTTP ServerName monsite.tld #ServerAlias www2.my-domain.com www.my-other-domain.com *.yet-another-domain.com # Theses lines only apply of the rewrite module is enabled. # This is a security enhancement recommanded by the nessus tool. <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^{TRACE|TRACK} RewriteRule .* - [F] </IfModule> # On renvoit toutes les requtes HTTP vers l'HTTPS. Redirect permanent / https://monsite.tld/ </VirtualHost> CustomLog /var/log/apache2/wiki.tld-access.log combined </VirtualHost> # Redirection des requettes HTTP vers l'HTTPS. <VirtualHost *:80> ServerName wiki.virtit.fr <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^{TRACE|TRACK} RewriteRule .* - [F] </IfModule> Redirect permanent / https://wiki.virtit.fr/ ###########LOG########### ErrorLog /var/log/apache2/wiki.tld-error.log LogLevel warn CustomLog /var/log/apache2/wiki.tld-access.log combined </VirtualHost>
kb/linux/apache2/reverse_proxy_avec_https.1495636448.txt.gz · Dernière modification : 2017/12/09 00:19 (modification externe)