Respostas:
Eu acho que é uma boa idéia como explicar qual é realmente o problema com hosts virtuais e SSL / TLS.
Quando você se conecta a um servidor apache por HTTP, envia um conjunto de cabeçalhos http. Eles se parecem com isso:
GET /index.html HTTP/1.1
Host: www.nice-puppies.com
Se você possui hospedagem virtual, o apache examinará o campo hosts, em seguida, busque o index.html correto para você. O problema é quando você adiciona SSL / TLS. O servidor configura a criptografia antes de você enviar sua solicitação http. Portanto, o servidor não sabe se você está acessando www.nice-puppies.com ou www.evil-haxxor.com até que a autenticação / criptografia seja concluída. O servidor não consegue adivinhar (como o envio do certificado errado gera uma mensagem de erro desagradável).
Uma solução é um certificado curinga (como mencionado acima), válido para * .nice-puppies.com. Dessa forma, você pode usar o mesmo certificado para vários domínios, mas não pode ter um certificado * .com (ok, pode, mas seria muito ruim para todos os outros); portanto, em geral, você precisará de um IP separado para cada Domínio HTTPS.
A solução real para esse problema é "Indicação do nome do servidor":
http://en.wikipedia.org/wiki/Server_Name_Indication
Ele está apenas começando a ser implementado em servidores e clientes da Web, então não é realmente algo que você possa usar agora, mas espero que daqui a alguns anos isso não seja um grande problema.
O problema é que o certificado SSL está vinculado ao endereço IP, não ao nome do host. Quando a conexão entra no endereço IP para uma solicitação HTTPS, a primeira ação é estabelecer a comunicação SSL passando o certificado do servidor e / ou o certificado do cliente. Durante esse estágio do handshake de conexão, o servidor Apache não tem como saber para que serve a solicitação. Isso é diferente para o tráfego HTTP (não SSL), pois depois que a conexão é estabelecida, o servidor Apache pode determinar a configuração do host virtual a ser usada se o cliente enviar o Host
cabeçalho ou entregá-lo ao primeiro host virtual configurado.
Se você tivesse vários hosts virtuais no mesmo domínio, poderia configurar um único certificado curinga no endereço IP e ter vários hosts virtuais com nomes de servidor diferentes definidos; no entanto, se esses nomes de servidor não estiverem com o mesmo nome de domínio, eles gerarão erros no servidor do cliente. Isso funcionaria, pois o certificado curinga seria válido para todos os nomes de host nesse nome de domínio. Você precisaria de outro endereço IP se os nomes de domínio fossem diferentes, pois o primeiro certificado definido para esse endereço IP seria o apresentado para conectar clientes.
Isso pode ser adicionado a um único certificado SSL como SAN (Nome Alternativo do Assunto). Na minha experiência, eu tive que solicitar um certificado de organização sll. eu usei globalsign.
Na verdade, com o software moderno, você PODE servir vários sites HTTPS em um único endereço IP, usando um novo recurso chamado 'SNI - Server Name Indication'.
http://en.wikipedia.org/wiki/Server_Name_Indication
http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI
Ainda tenho que usar isso sozinho, mas parece bom para sites internos e da intranet. A maioria dos navegadores modernos suporta SNI. O IE6 não suporta SNI, mas o IE7 sim.
(Correção: 20100426 - O SNI não é compatível com o Windows XP. O Windows Vista e superior suportam o SNI. Consulte a "Seção 2.2.3" em http://msdn.microsoft.com/en-us/library/dd208005% 28v = PROT.13% 29.aspx # id8 ).
Eu acho que o OP está perguntando o que acontece se ele adicionar um certificado SSL a um IP que tenha muitos hosts virtuais. Se nenhum dos outros virtualhosts usar um certificado SSL, ele deve estar limpo.
Um certificado UC é definitivamente o caminho a seguir: http://www.sslshopper.com/unified-communications-uc-ssl-certificates.html
Se você tentar adicionar dois certificados no mesmo IP, somente o certificado de primeira leitura será usado em todos os lugares. Um IP - um certificado SSL.
Se você deseja obter mais certificados SSL no mesmo IP, considere obter vários domínios (UCC - confira @ godaddy ) ou certificado curinga (mais caro).