Outils pour utilisateurs

Outils du site


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)