ssllabs.com发现证书#2与错误的域名

扫描其中一个域时,我已经为ssllabs.com安装了SSL,证书#1正确validation了等级“A”,尽pipe在结果页面上还有一个证书#2,似乎是从第一个由于某种原因,configuration了apacheconfiguration的SSL证书的域,当然由于域与证书不匹配,当然会给出“MISMATCH”。 想知道是否有人可以指出什么是错误的configuration。

目前我正在设置每个托pipe给ssl的域名(域名已更改):

<Directory /home/info/> Options -Indexes +FollowSymLinks -Multiviews AllowOverride All Order allow,deny allow from all Require all granted </Directory> <VirtualHost _default_:443> DocumentRoot /home/info/pub/ ServerName domain.at ServerAlias domain.at www.domain.at SSLEngine on SSLCertificateFile /home/info/ssl/at.crt SSLCertificateKeyFile /home/info/ssl/at.key SSLCertificateChainFile /home/info/ssl/at.ca </VirtualHost> <VirtualHost _default_:443> DocumentRoot /home/info/pub/ ServerName domain.dk ServerAlias domain.dk www.domain.dk SSLEngine on SSLCertificateFile /home/info/ssl/dk.crt SSLCertificateKeyFile /home/info/ssl/dk.key SSLCertificateChainFile /home/info/ssl/dk.ca </VirtualHost> <VirtualHost _default_:443> DocumentRoot /home/info/pub/ ServerName domain.fr ServerAlias domain.fr www.domain.fr SSLEngine on SSLCertificateFile /home/info/ssl/fr.crt SSLCertificateKeyFile /home/info/ssl/fr.key SSLCertificateChainFile /home/info/ssl/fr.ca </VirtualHost> 

所以当例如用ssllabs扫描“domain.fr”时,它会正确validation.fr证书,然后继续尝试validation“domain.at”。 我应该注释掉“domain.at”configuration,它会尝试validation“domain.dk”。 为什么是这样? 感谢您的帮助。

根据Apache 文档 ,在不启用SNI的情况下,不能在同一IP和端口上提供多个SSL VirtualHost。 为了使你的configuration工作,你应该添加到ApacheconfigurationSSLStrictSNIVHostCheck指令,更多的信息可以在这篇文章中find。

或者另一种解决scheme,安装nginx作为反向代理,并在nginx上终止SSL,所以Apache将只提供http。