Dois hosts virtuais https no mesmo servidor: mesma porta, subdomínios diferentes

Dois hosts virtuais https no mesmo servidor: mesma porta, subdomínios diferentes

Tentei pesquisar esse cenário, mas não consigo encontrar exatamente essa configuração. Eu quero ter algo como o seguinte:

Quero que dois subdomínios sejam redirecionados para sites https diferentes com raízes de documentos diferentes. O certificado SSL que temos é de nível de domínio (*example.com). O seguinte parece não funcionar, pois quando coloco mais de um host virtual para cada porta, recebo "Esta página da web não está disponível". Alguma sugestão?

NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
  ServerName subdomain1.example.com
  RedirectPermanent / https://subdomain1.example.com
</VirtualHost>
<VirtualHost *:80>
  ServerName subdomain2.example.com
  RedirectPermanent / https://subdomain2.example.com
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot /srv/www/subd1/
  ServerName subdomain1.example.com
  # more directives
</VirtualHost>
<VirtualHost *:443>
  DocumentRoot /srv/www/subd2/
  ServerName subdomain2.example.com
  # more directives
</VirtualHost>

Temos o DNS direcionando subdomínio1.example.com e subdomínio2.example.com para o endereço IP do nosso servidor.

Editar: Corrigido um erro na configuração do exemplo (sem diretiva ServerName) e adicionadas informações sobre nosso DNS.

Responder1

Seu exemplo de configuração deve funcionar (supondo que você tenha definido corretamente as entradas DNS correspondentes a esses hosts virtuais para resolver o servidor em questão), mas parece que você não incluiu ServerNamediretivas - tente o seguinte (supondo que isso não seja apenas um erro na construção da sua configuração de exemplo):

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
  ServerName subdomain1.example.com
  RedirectPermanent / https://subdomain1.example.com
</VirtualHost>

<VirtualHost *:80>
  ServerName subdomain2.example.com
  RedirectPermanent / https://subdomain2.example.com
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /srv/www/subd1/
  ServerName subdomain1.example.com
  # more directives
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /srv/www/subd2/
  ServerName subdomain2.example.com
  # more directives
</VirtualHost>

informação relacionada