Outro site servido em um servidor Apache multisite quando o 2º certificado SSL é introduzido

0

Eu tenho um serviço Apache em execução em um servidor Ubuntu com dois sites completamente diferentes, ou seja, domínios diferentes.

Cada um deles tem uma configuração separada do VirtualHost e, até recentemente, apenas um deles era servido via HTTPS.

Esta manhã, quando apresentei um novo certificado SSL para o segundo site e alterei a configuração do VirtualHost adequadamente (ouça na porta 443, aponte para os arquivos cert etc.), em vez de servir o segundo site como esperado, ele foi exibido o site HTTPS original.

Se alguém pudesse me ajudar, eu agradeceria muito.

Aqui estão os arquivos (higienizados) do VirtualHost:

Primeiro site - aquele que continua fazendo a substituição

<VirtualHost *:443>

ServerAdmin webmaster@localhost
ServerName www.first-site.com
ServerAlias some similar names
DocumentRoot /var/www/first-site.com/

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

#SSL config
SSLEngine on
SSLProtocol -All +TLSv1.2
SSLCertificateFile /etc/apache2/ssl/first-site/firstsite-certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl/first-site/firstsite.key
SSLCertificateChainFile /etc/apache2/ssl/first-site/firstsitechain.crt

.....More site-specific rules.....

Segundo site - aquele que continua sendo substituído

<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName second-site.com
ServerAlias some similar names
DocumentRoot /var/www/secondsite/htdocs
ErrorLog /var/log/apache2/secondsite-error.log
CustomLog /var/log/apache2/secondsite-access.log combined

SSLEngine on
SSLProtocol -All +TLSv1.2
SSLCertificateFile /etc/apache2/ssl/secondsite/secondsite.crt
SSLCertificateKeyFile /etc/apache2/ssl/secondsite/secondsite.key
SSLCertificateChainFile /etc/apache2/ssl/secondsite/secondsitechain.crt

.....More site-specific rules.....

Eu dei uma olhada nos logs, mas isso não está aparecendo. Talvez seja apenas o meu grep-fu embora ...

Alguém experimentou algo semelhante? Precisa de mais informações?

    
por I_GNU_it_all_along 18.10.2016 / 13:45

1 resposta

2

Palavra-chave: SNI (Indicação do nome do servidor)

Parece que o seu servidor ou o seu cliente não tem suporte SNI, consulte

link

Para testar se o seu servidor está retornando informações do cabeçalho SNI, você pode tentar

openssl s_client -servername www.SERVERNAME.com -tlsextdebug -connect www.YOURSERVER.com:443 2>/dev/null | grep "server name"

veja link

Você também pode experimentar o link do teste de servidor SSL A "Simulação de handshake" deve fornecer algo assim para clientes mais antigos:

Android 2.3.7 No SNI Incorrect certificate because this client doesn't support SNI

mas certificados correspondentes para os clientes mais recentes.

BTW aqui alguém teve um problema semelhante link

    
por 18.10.2016 / 13:50