Después de actualizar recientemente Apache2 a la versión 2.2.31, encontré un comportamiento extraño en la configuración de SSL VirtualHost.
Algunos de los sitios web que estoy hospedando mostraban el certificado para el host predeterminado, incluso si el cliente lo Server Name Identification
sabía, y esto sucedió solo con algunos de ellos. Esto se muestra como la advertencia de pasaporte común de Firefox / Chrome acerca de que posiblemente sea estafado si está navegando por la banca de su casa, pero ese simplemente no fue el caso.
Para ser claros, si el servidor host.hostingdomain.org
tiene su propio SSL, intenta acceder a los https://www.hostedsite.org
certificados de informes host.hostingdomain.org
, pero algunos https://www.hostedsite.me
informaron el certificado correcto.
Todos los sitios están alojados en la misma dirección IP, en el puerto 443. La verdad es que VirtualHosting funciona en el lado HTTP y redirige a los clientes conscientes de SNI a SSL automáticamente, por lo que es compatible con los clientes que no conocen SNI.
Al examinar los registros de errores de los VirtualHosts infractores, se muestra el siguiente texto
[Tue Dec 25 16:02:45 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (/path/to/www.site.org.conf:20)
y de hecho, el vhost se configuró correctamente con SSLCertificateFile.
La pregunta es obvia: ¿cómo solucionarlo?