Respuestas:
Creo que es una buena idea cómo explicar cuál es realmente el problema con los hosts virtuales y SSL / TLS.
Cuando te conectas a un servidor apache a través de HTTP, envías un conjunto de encabezados http. Se ven así:
GET /index.html HTTP/1.1
Host: www.nice-puppies.com
Si tiene alojamiento virtual, Apache buscará en el campo hosts, luego busque el index.html correcto para usted. El problema es cuando agrega SSL / TLS. El servidor configura el cifrado antes de que envíe su solicitud http. Por lo tanto, el servidor no sabe si irá a www.nice-puppies.com o www.evil-haxxor.com hasta que se complete la autenticación / encriptación. El servidor no puede adivinar (ya que enviar el certificado incorrecto le da un mensaje de error desagradable).
Una solución es un certificado comodín (como se mencionó anteriormente), que es válido para * .nice-puppies.com. De esa manera, puede usar el mismo certificado para múltiples dominios, pero no puede tener un certificado * .com (está bien, puede, pero sería muy malo para todos los demás), por lo que, en general, necesitará una IP separada para cada uno. Dominio HTTPS.
La verdadera solución a este problema es la "Indicación del nombre del servidor":
http://en.wikipedia.org/wiki/Server_Name_Indication
Está comenzando a implementarse en servidores y clientes web, por lo que no es realmente algo que pueda usar ahora, pero con suerte dentro de unos años no será un problema tan grande.
El problema es que el certificado SSL está vinculado a la dirección IP, no al nombre de host. Cuando la conexión llega a la dirección IP para una solicitud HTTPS, la primera acción es establecer la comunicación SSL pasando el certificado del servidor y / o el certificado del cliente. Durante esta etapa del protocolo de enlace de conexión, el servidor Apache no tiene forma de saber para qué sirve la solicitud. Esto es diferente para el tráfico HTTP (no SSL), ya que después de que se establece la conexión, el servidor Apache puede determinar la configuración del host virtual que se utilizará si el cliente envía el Host
encabezado o lo transfiere al primer host virtual configurado.
Si tuviera varios hosts virtuales bajo el mismo dominio, podría configurar un solo certificado comodín en la dirección IP y tener múltiples hosts virtuales con diferentes nombres de servidor definidos; sin embargo, si esos nombres de servidor no están bajo el mismo nombre de dominio, generarían errores en el servidor del cliente. Esto funcionaría ya que el certificado comodín sería válido para todos los nombres de host con ese nombre de dominio. Necesitaría otra dirección IP si los nombres de dominio fueran diferentes, ya que el primer certificado definido para esa dirección IP sería el que se presenta para conectar clientes.
Esto se puede agregar en un solo certificado SSL como SAN (Nombre alternativo del sujeto). En mi experiencia tuve que solicitar un certificado de organización. Yo usé globalsign.
En realidad, con un software moderno, PUEDE servir varios sitios HTTPS a través de una sola dirección IP, utilizando una nueva función llamada 'SNI - Indicación de nombre del servidor'.
http://en.wikipedia.org/wiki/Server_Name_Indication
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
Todavía tengo que usar esto yo mismo, pero suena bien para sitios internos e intranet. La mayoría de los navegadores modernos admiten SNI. IE6 no admite SNI, pero IE7 sí.
(Corrección: 20100426 - SNI no es compatible con Windows XP en absoluto. Windows Vista y superior admiten SNI. Consulte "Sección 2.2.3" en http://msdn.microsoft.com/en-us/library/dd208005% 28v = PROT.13% 29.aspx # id8 ).
Creo que el OP pregunta qué sucede si agrega un certificado SSL a una IP que tiene muchos hosts virtuales. Si ninguno de los otros hosts virtuales usa un certificado SSL, entonces él debería estar en claro.
Un certificado de UC es definitivamente el camino a seguir: http://www.sslshopper.com/unified-communications-uc-ssl-certificates.html
Si intenta agregar dos certificados en la misma IP, solo se usará el certificado de primera lectura en todas partes. Una IP: un certificado SSL.
Si desea obtener más certificados SSL en la misma IP, considere obtener un dominio de múltiples dominios (llamado UCC, échele un vistazo a @ godaddy ) o un certificado comodín (más caro).