VirtualHost n'utilise pas le file de certificate SSL correct

J'ai eu une mauvaise configuration avec mes hôtes virtuels et SSL. J'ai trouvé le problème, j'ai besoin d'une solution. Le problème est, la façon dont j'ai l'installation de mon hôte virtuel et de noms de servers, la directive LAST VirtualHost associe le file de certificate SSL au Nom de server indépendamment de l'adresse IP ou de ServerAlias.

Dans ce cas, SSL sur www.site1.com utilise le file cert qui est établi sur le dernier VirtualHost; www.site2.com.

Est-ce comment cela devrait fonctionner? Cela semble se produire parce que les deux utilisent le même ServerName; mais je ne penserais pas que ce serait un problème. J'utilise spécifiquement le même ServerName pour un but et je ne peux vraiment pas changer cela. J'ai donc besoin d'une bonne solution pour cela. Oui, je pourrais acheter un autre UCC SSL et les avoir tous les deux, mais j'ai déjà fait cela; Ce sont en fait des UCC SSL déjà. Il se trouve que ce sont deux SSL UCC différents.

<VirtualHost 11.22.33.44:80> ServerName somename ServerAlias www.site1.com UseCanonicalName On RewriteEngine On RewriteOptions Inherit </VirtualHost> <VirtualHost 11.22.33.44:443> ServerName somename ServerAlias www.site1.com UseCanonicalName On SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/cert1.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/cert1.key SSLCertificateChainFile /usr/local/apache/conf/chain/gd_bundle.crt RewriteEngine On RewriteOptions Inherit </VirtualHost> <VirtualHost 55.66.77.88:80> ServerName somename ServerAlias www.site2.com UseCanonicalName On RewriteEngine On RewriteOptions Inherit </VirtualHost> <VirtualHost 55.66.77.88:443> ServerName somename ServerAlias www.site2.com UseCanonicalName On SSLEngine on SSLCertificateFile /usr/local/apache/conf/ssl.crt/cert2.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/cert2.key SSLCertificateChainFile /usr/local/apache/conf/chain/gd_bundle.crt RewriteEngine On RewriteOptions Inherit </VirtualHost> 

Essayez d'append ces lignes en dehors du VirtualHost:

NomVirtualHost 11.22.33.44:443 NomVirtualHost 55.66.77.88:443

Pour utiliser l'indication du nom du server, vous avez besoin d'Apache 2.2.12 ou plus récent. Les versions précédentes ne prennent pas en charge cette extension SSL.

(Une alternative est mod_gnutls – cependant, elle est less stable que le mod_ssl officiel).