Por que o apache me fornece essa mensagem de erro nos meus logs? É um falso positivo?
[warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366)
Recentemente, atualizei do Centos 5.7 para 6.3 e, com isso, para uma versão mais recente do httpd. Eu sempre fiz minhas configurações de host virtual ssl como abaixo. Onde todos os domínios que compartilham o mesmo certificado (principalmente / sempre caracteres curinga) compartilham o mesmo IP. Mas nunca recebi essa mensagem de erro antes (ou eu talvez não tenha consultado o suficiente nos meus logs?) Pelo que aprendi, isso deve funcionar sem o SNI (Indicação do nome do servidor)
Aqui estão partes relevantes do meu arquivo httpd.conf. Sem este VirtualHost, não recebo a mensagem de erro.
NameVirtualHost 10.101.0.135:443
<VirtualHost 10.101.0.135:443>
ServerName sub1.domain.com
SSLEngine on
SSLProtocol -all +SSLv3 +TLSv1
SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>
<VirtualHost 10.101.0.135:443>
ServerName sub2.domain.com
SSLEngine on
SSLProtocol -all +SSLv3 +TLSv1
SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM
SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt
SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key
SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem
</VirtualHost>
fonte
<VirtualHost 10.101.0.135:443>
linha para ser<VirtualHost sub2.domain.com:443>
? Potencialmente?VirtualHost
declarações.VirtualHost
curinga, mas aServerName
diretiva corresponde ao certificado CN. Todos os 3 combinaram e viola! PS: Esta resposta serverfault.com/questions/578061/… informa como obter o CN que você colocou no seu certificado RSANão é um erro, é uma mensagem de aviso.
E você está conseguindo porque 1) você atualizou sua versão do Apache e 2) você tem 2 SSL VirtualHosts usando o mesmo endereço IP exato (em vez de usar 2 IPs).
Como você está compartilhando o IP, navegadores sem suporte SNI obterão o primeiro site e nunca o segundo.
fonte
Host
cabeçalho é verificado normalmente.Otherwise you could do 100s of SSL NameBasedVirtualHosts on 1 single IP address, and we know that's not true (without SNI support by server and client)
Você pode. O uso normal disso é quando todos têm o mesmo certificado, um curinga ou um certificado de nome alternativo normalmente. Mas digamos que você tenha dois vhosts com certificados SSL próprios - domain1.com e domain2.com, com domain1.com configurado primeiro. Um navegador não compatível com SNI solicita domain2.com - eles recebem um erro de incompatibilidade de domínio de certificado, porque receberam o certificado domain1 - mas, se clicarem nele, obterão o conteúdo domain2.