jeudi 17 février 2011

Apache et les VirtualHost SSL

Ajourd'hui, je vais vous montrer comment configurer plusieurs VirtualHost SSL sur Apache.
Cela fait plus de 8 mois que je me bat avec cette configuration impossible à mettre en place.

Prérequis : Apache 2.2.9 minimum, mod_ssl, openssl

La première chose à faire est de se créer sont certificat. Pour cela j'ai suivi cette procédure. Le seul point à changer est pour le "Common name", il faut mettre "*.mondomaine.tld". Cela permet d'avoir un certificat valable pour tous les sous domaine.

Ensuite, configurer les VirtualHost comme si cela était des hôtes sans SSL (sur le port 443 tout de même).

Pour la directive "ServerName", précisier le port après le nom du serveur (ex: test.mondomaine.tld:443).

Ajoutez la configuration SSL :
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Puis redémarrer Apache et cela fonctionne.

Il faut répéter la manœuvre autant de fois qu'il est nécessaire pour vos configurations.
Dans le cas d'un sous domaine avec un certificat wildcard vous n'avez pas besoin de changer la configuration SSL. Sinon, il suffit de choisir le bon certificat et la bonne clé.

Aucun commentaire: