Tengo dos aplicaciones de ruby on rails 3 que se ejecutan en el mismo servidor (ubuntu 10.04), ambas con SSL.
Aquí está mi archivo de configuración de 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>
Cual es el problema:
Al reiniciar mi servidor, me da un resultado como este:
* 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
Al buscar en Google por qué viene este problema, obtuve algo como esto:
No puede usar hosts virtuales basados en nombres con SSL porque el protocolo de enlace SSL (cuando el navegador acepta el certificado del servidor web seguro) ocurre antes de la solicitud HTTP, que identifica el host virtual basado en nombres apropiado. Si planea utilizar hosts virtuales basados en nombres, recuerde que solo funcionan con su servidor web no seguro.
Pero no puedo descubrir cómo ejecutar dos aplicaciones SSL en el mismo servidor.
¿Alguien puede ayudarme?
fuente
_default_
vhosts en la configuración que ha proporcionado, por lo que están en otro lugar. ¿Cuál es el resultado deapache2ctl -S
? (Sí, es posible ejecutar múltiples vhosts basados en nombres SSL en diferentes certificados, siempre que no tenga necesidad de admitir navegadores de clientes que ejecuten Windows XP o cualquier otro que no admita TLS SNI. ¿Necesita admitir Windows? XP?)Respuestas:
Ya casi!
Agregue esto a ports.conf o http.conf y mantenga su configuración anterior.
fuente
También me ayudó a ejecutar "/ usr / sbin / apachectl -S". Esta salida de comando muestra DOS archivos "ssl.conf" en la misma ruta. Mueva o elimine el archivo delincuente y todo debería funcionar después.
fuente
Puede agregar esto a su configuración de apache en
/etc/apache2/ports.conf
:(Esto funciona en ambos: apache 2.2 y 2.4)
fuente