我有两个虚拟主机,每个主机都有自己的证书。访问一个虚拟主机时,它提供错误的证书。来自其他主机的证书在证书定义文件中具有不同的备用名称。
答案 0 :(得分:2)
我不确定你是如何配置虚拟主机的。你需要:
这仅适用于apache< 2.3.11
通常是在apache主配置文件
中完成的NameVirtualHost *:443
<VirtualHost *:443>
ServerName www.domain1.com
# SSl configuration for domain1
....
</VirtualHost>
<VirtualHost *:443>
ServerName www.domain2.com
# SSl configuration for domain2
....
</VirtualHost>
请记住,如果您为2个虚拟主机使用相同的IP,Apache将使用SNI https://www.tutorialspoint.com/java/java_encapsulation.htm并将在TLS协商期间传递将要连接的主机。
这意味着您将无法使用简单的
进行测试openssl -connect www.domain2.com:443
#you will get domain1 certificate
你需要使用
openssl -connect www.domain2.com:443 --servername www.domain2.com
#you will get domain1 certificate