J'ai deux applications ruby on rails 3 qui s'exécutent sur le même serveur (Ubuntu 10.04), toutes deux avec SSL.
Voici mon fichier de configuration apache:
<VirtualHost *:80>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example1.com
DocumentRoot /home/me/example1/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example1/production/shared/example1.crt
SSLCertificateKeyFile /home/me/example1/production/shared/example1.key
SSLCertificateChainFile /home/me/example1/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>
<VirtualHost *:80>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
DocumentRoot /home/me/example2/production/current/public
SSLEngine on
SSLCertificateFile /home/me/example2/production/shared/iwanto.crt
SSLCertificateKeyFile /home/me/example2/production/shared/iwanto.key
SSLCertificateChainFile /home/me/example2/production/shared/gd_bundle.crt
SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
</VirtualHost>
Quel est le problème:
Au redémarrage de mon serveur, cela me donne un résultat comme ceci:
* Restarting web server apache2
[Sun Jun 17 17:57:49 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
... waiting [Sun Jun 17 17:57:50 2012] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
En cherchant sur Google pourquoi cette question est à venir, j'ai obtenu quelque chose comme ceci:
Vous ne pouvez pas utiliser d'hôtes virtuels basés sur le nom avec SSL car la négociation SSL (lorsque le navigateur accepte le certificat du serveur Web sécurisé) se produit avant la demande HTTP, qui identifie l'hôte virtuel basé sur le nom approprié. Si vous envisagez d'utiliser des hôtes virtuels nommés, rappelez-vous qu'ils ne fonctionnent qu'avec votre serveur Web non sécurisé.
Mais pas en mesure de comprendre comment exécuter deux applications SSL sur le même serveur.
Quelqu'un peut-il m'aider?
la source
_default_
hôte virtuel dans la configuration que vous avez fournie, ils sont donc ailleurs. Quelle est la sortie deapache2ctl -S
? (Oui, il est possible d'exécuter plusieurs hôtes virtuels basés sur des noms SSL sur différents certificats, à condition que vous n'ayez pas besoin de prendre en charge les navigateurs clients exécutant Windows XP ou tout autre système qui ne prend pas en charge TLS SNI. Avez-vous besoin de prendre en charge Windows? XP?)Réponses:
Presque là!
Ajoutez ceci à ports.conf ou http.conf et conservez la configuration ci-dessus.
la source
Cela m'a également aidé à exécuter "/ usr / sbin / apachectl -S". Cette commande exit affiche DEUX fichiers "ssl.conf" sur le même chemin. Déplacez ou supprimez le dossier du délinquant et tout devrait fonctionner après.
la source
Vous pouvez ajouter ceci à votre configuration apache à l'adresse suivante
/etc/apache2/ports.conf
:(Cela fonctionne dans les deux versions: apache 2.2 et 2.4)
la source