Axiso

Notes

Connexion SSL/HTTPS pour un hôte virtuel Apache

Serveur — décembre 2010 , ,

Mise en place d’une sécurisation SSL obligatoire pour la connexion à un hôte virtuel existant.

Exemple de configuration existante :

cat /etc/apache2/sites-available/example.com
<VirtualHost 123.123.123.123:80>   ServerName example.com   DocumentRoot /home/www/example.com/web/web   ## Logs   CustomLog /home/www/example.com/log/apache/access.log combined env=!no_log   ErrorLog /home/www/example.com/log/apache/error.log   ## / Logs </VirtualHost>

Activation du module SSL de Apache si nécessaire :

a2enmod ssl

Modifications à apporter sur la configuration SSL du domaine à partir de la configuration existante :

cp /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com-ssl
vi /etc/apache2/sites-available/example.com-ssl
<IfModule mod_ssl.c> <VirtualHost 123.123.123.123:443>   ServerName example.com   DocumentRoot /home/www/example.com/web/web   ## Logs   CustomLog /home/www/example.com/log/apache/access.log combined env=!no_log   ErrorLog /home/www/example.com/log/apache/error.log   ## / Logs   ## SSL   SSLEngine on   SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem   SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key   ## / SSL </VirtualHost> </IfModule>

Modifications à apporter sur la configuration de base afin de forcer le renvoi de HTTP vers HTTPS :

vi /etc/apache2/sites-available/example.com
<VirtualHost 123.123.123.123:80>   ServerName example.com   DocumentRoot /home/www/common/error   Redirect permanent / https://example.com </VirtualHost>

Activation de la configuration SSL et contrôle de l’opération :

a2ensite example.com-ssl
apache2ctl graceful
netstat -tap | grep https

doit afficher :

tcp6  0  0 [::]:https  [::]:*  LISTEN  1386/apache2

et la connexion vers http://example.com doit être aussitôt renvoyée vers https://example.com.