引入第二个 SSL 证书时,其他站点在多站点 Apache 服务器上提供服务

引入第二个 SSL 证书时,其他站点在多站点 Apache 服务器上提供服务

我有一个 Apache 服务在 Ubuntu 服务器上运行,有两个完全不同的网站,即不同的域。

它们每个都有一个单独的 VirtualHost 配置,并且直到最近,只有其中一个通过 HTTPS 提供服务。

今天早上,当我为第二个站点引入新的 SSL 证书并相应地更改 VirtualHost 配置(改为侦听端口 443,将其指向证书文件等)时,它没有按预期为第二个站点提供服务,而是为原始 HTTPS 提供服务网站代替。

如果有人能帮助我,我将不胜感激。

这是(经过清理的)VirtualHost 文件:

第一个站点 - 始终占据主导地位的站点

<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.....

第二个站点 - 不断被覆盖的站点

<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.....

我查看了日志,但没有弹出。也许这只是我的 grep-fu...

有人经历过类似的事情吗?需要更多信息吗?

答案1

关键词:神经网络研究所(服务器名称指示)

看起来您的服务器或客户端缺少 SNI 支持,请参阅

https://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI

要测试您的服务器是否返回 SNI 标头信息,您可以尝试

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

https://serverfault.com/questions/506177/how-can-i-detect-if-a-server-is-using-sni-for-https

您也可以尝试这样的 SSL 服务器测试https://www.ssllabs.com/ssltest/ “握手模拟”应该为老客户提供如下内容:

Android 2.3.7 No SNI 证书不正确,因为该客户端不支持 SNI

但为新客户匹配证书。

顺便说一句,这里有人遇到了类似的问题 https://serverfault.com/questions/510132/apache-sni-namevhosts-always-route-to-first-virtualhost-entry

相关内容