在一个 Apache Web 服务器中设置两个 SSL 证书的问题

在一个 Apache Web 服务器中设置两个 SSL 证书的问题

可能重复:
同一 IP 地址和同一端口上有多个 SSL 域吗?

我正在尝试在一台 Apache Web 服务器上为我的两个域名设置 SSL 证书。我的两个域名都有两个证书。

我为我的两个域名创建了两个虚拟主机:

<VirtualHost *:443>

NameVirtualHost *:443

ServerName domain1.com

...
..
SSLCertificateFile /etc/pki/tls/certs/domain1.cer

SSLCertificateKeyFile /etc/pki/tls/private/domain1.pem
..
</VirtualHost>



<VirtualHost *:443>

NameVirtualHost *:443

ServerName domain2.com

...

SSLCertificateFile /etc/pki/tls/certs/domain2.cer

SSLCertificateKeyFile /etc/pki/tls/private/domain2.pem

..
..
</VirtualHost>

SSL 证书加载并显示域 1 的有效证书,但在访问域 2 时,它仅加载域 1 的证书。

我还需要做哪些改变才能使其发挥作用?

答案1

“一般来说,不可能在同一个 IP 地址和端口上托管多个 SSL 虚拟主机。这是因为 Apache 需要知道主机的名称才能选择正确的证书来设置加密层。但所请求主机的名称仅包含在 HTTP 请求标头中,而 HTTP 请求标头是加密内容的一部分。因此,在协商加密之前,它不可用。这意味着无法选择正确的证书,客户端将收到证书不匹配警告,并且容易受到中间人攻击。”——http://wiki.apache.org/httpd/NameBasedSSLVHosts

相关内容