Sua configuração pode funcionar algumas vezes, mas na maioria das vezes é inviável. Configuração de trabalho se parece com:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.com
....
</VirtualHost>
NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.domain.com
....
<VirtualHost *:443>
Ou feito um arquivo separado para vhosts.conf (em centos, o caminho para o arquivo será /etc/httpd/conf.d/vhosts.conf). Se você precisar de um certificado separado de tls para cada host virtual, precisará de algumas alterações adicionais.