Utiliser plusieurs certificats SSL sur un seul serveur apache avec une seul adresse ip
Le but de l’article du jour est d’utiliser plusieurs certificats SSL sur une même machine via le SNI (ce qui était impossible il y a quelques années de cela cf. wikipedia, le premier patch étant sorti en 2004, les premières implémentation sur les serveurs apache se sont fait sur la version 2.2.12 en Juillet 2009).
Depuis peu donc, on peut s’amuser à installer plusieurs certificats SSL, mais ça nécessite un tout petit peu de configuration (vraiment un tout petit peu en fait).
Les outils nécessaire :
- Des certificats SSL (de préférences valide c’est gratuit chez startSSL)
- Un serveur apache de version 2.2.12 ou supérieur
- La librairie openssl 0.9.8j ou supérieur
il faut modifier la config « /etc/apache2/ports.conf » et faire en sorte que le ifmodule du mod_ssl ressemble à ça :
-
<IfModule mod_ssl.c>
-
NameVirtualHost *:443
-
Listen 443
-
</IfModule>
Puis enfin créer le fichier de configuration s’occupant de vos certificats et de les servir suivant le nom de domaine demandé (chez moi blog.gaetan-grigis.eu et un-autre-sous-domaine.gaetan-grigis.eu).
-
<VirtualHost *:443>
-
ServerName aitibourek.blogspot.com
-
DocumentRoot /var/www/blogaitibourek
-
SSLEngine on
-
SSLProtocol all -SSLv2
-
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
-
-
SSLCertificateFile /etc/apache2/cert/blog.crt
-
SSLCertificateKeyFile /etc/apache2/cert/blog.key
-
SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.ca.crt
-
SSLCACertificateFile /etc/apache2/cert/ca.crt
-
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
-
CustomLog /var/log/apache2/ssl_request.log \
-
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
</VirtualHost>
-
<VirtualHost *:443>
-
ServerName un-autre-sous-domaine.aitibourek.fr
-
DocumentRoot /var/www/un-autre-sous-domaine
-
SSLEngine on
-
SSLProtocol all -SSLv2
-
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM
-
-
SSLCertificateFile /etc/apache2/cert/un-autre-sous-domaine.crt
-
SSLCertificateKeyFile /etc/apache2/cert/un-autre-sous-domaine.key
-
SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.ca.crt
-
SSLCACertificateFile /etc/apache2/cert/ca.crt
-
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
-
CustomLog /var/log/apache2/ssl_request.log \
-
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
</VirtualHost>
NB: On peut bien sûr en créer autant qu’on veut, c’est pas limité à deux sous-domaines.
Commentaires
Enregistrer un commentaire