Os hosts virtuais baseados em nome causam NET :: ERR_CERT_COMMON_NAME_INVALID

1

Eu tenho as diretivas VirtualHost nos arquivos de configuração do servidor web no seguinte formato:

<VirtualHost *:443>
  ServerName example.com

Inserindo https://example.com no navegador processa o site corretamente, o tráfego é criptografado por TLS. Assim que eu reescrevê-lo para

<VirtualHost example.com:443>

O envio de uma solicitação GET ao domínio na porta 443 resulta em um erro SSL, ou seja, NET::ERR_CERT_COMMON_NAME_INVALID no Chrome, que indica que o servidor da Web forneceu um certificado válido para example.net (esse outro domínio ainda está hospedado meu servidor).

Se eu olhar para o certificado ( openssl x509 -in cert.pem -text ), recebo que ele foi emitido para

Subject: CN=example.com

O caminho para o certificado está configurado corretamente.

Additional info: Both domains resolve to the same 127.0.0.1 in the hosts file, NameVirtualHost is not set, and there is a proxy in front of the webserver, which hopefully has nothing to do with this issue.

    
por Rápli András 30.12.2016 / 12:48

1 resposta

2

O argumento para a diretiva VirtualHost deve corresponder a uma diretiva NameVirtualHost definida.

Você não pode usar domain.com na diretiva VirtualHost se você não tiver NameVirtualHost domain.com definido em config, que é algo que não é comumente usado, * ou IP é geralmente usado para NameVirtualHost.

Como este VirtualHost não é válido, ele carrega o primeiro ou VirtualHost padrão que existe naquele IP para a porta 443, que é anotherdomain.com cujo SSL você está sendo servido.

    
por 30.12.2016 / 13:26