Se você tiver um certificado curinga, poderá criar um virtual hospedagem como você faz sem SSL.
Ao negociar uma conexão SSL, seu servidor da Web precisa selecionar um certificado ANTES de quaisquer cabeçalhos de protocolos HTTP terem sido recebidos - o que significa que, sem o SNI, o Apache não pode selecionar entre múltiplos Hosts virtuais baseados em nome. É por isso que no passado você precisava de um endereço IP separado para cada host virtual hospedado em seu sistema. Usando o SNI, o cliente é capaz de fornecer ao servidor o nome de o host ao qual deseja se conectar. Isso permite que o servidor selecione a configuração apropriada do host virtual e, portanto, certificado apropriado.
Se você estiver usando um certificado curinga, você evita esse problema desde que todos os seus hosts virtuais compartilhem um domínio pai comum. Nesse caso, o SNI é desnecessário. Como o certificado é válido para qualquer dos seus hosts, não há requisito de que o seu servidor web seja capaz de identificar os host virtual no início da negociação SSL ... o que significa que você pode usar os cabeçalhos HTTP para identificar o host e prosseguir com as hospedagem virtual baseada em nome.
Usando o Apache, sua configuração seria algo como isto:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName foo.example.com
DocumentRoot /sites/foo.example.com/html
SSLEngine On
# ...other SSL parameters...
</VirtualHost>
<VirtualHost *:443>
ServerName bar.example.com
DocumentRoot /sites/bar.example.com/html
SSLEngine On
# ...other SSL parameters...
</VirtualHost>
Estamos executando esse tipo de configuração em uma situação de produção há alguns anos sem problemas.