无法在 apache 上安装 SSL 证书

无法在 apache 上安装 SSL 证书

我已将网站移至另一台服务器,并且我拥有 godaddy 的 SSL 证书。SSL 在由我的前任维护的旧服务器上运行良好。现在,在新服务器上,我已按照 godaddy 的说明重新生成证书,并已按照说明修改了 ssl.conf 文件,但当我转到网站中应该支持 SSL 的部分时,我仍然会收到“不受信任的证书”。如果我将其添加为受信任的证书,则一切正常,但它失去了受信任证书的意义。

更奇怪的是,旧服务器上的 ssl.conf 文件是默认的,那么证书怎么能正常工作呢?除了修改 ssl.conf 之外,还有其他方法可以安装 SSL 证书吗?

我对 ssl.conf 所做的更改:

<VirtualHost *:443>
DocumentRoot "/var/www/vhosts/domain.com/httpdocs"
ServerName www.domain.com:443
SSLCertificateFile /var/www/vhosts/domain.com/private/domain.com.crt
SSLCertificateKeyFile /usr/bin/domain.com.key
SSLCACertificateFile /var/www/vhosts/domain.com/private/gd_bundle.crt
<Directory "/var/www/vhosts/domain.com/httpdocs">
    AllowOverride All
</Directory>

我做错什么了吗?

==================================================================================

更新:根据建议,我在我的 ssl.conf 中添加了一行以启用 godaddys 捆绑证书:

SSLCertificateChainFile /var/www/vhosts/domain.com/private/gd_bundle.crt

并注释掉以下行:

#SSLCACertificateFile /var/www/vhosts/domain.com/private/gd_bundle.crt

一切仍旧一样,证书不受信任......

更新 2:我接受了证书并查看了它,但它不是我的,上面说“Plesk”是所有者。出于某种原因,Plesk 正在填充它的证书,我能以某种方式删除它吗?抱歉造成混淆...

更新3:我查看了 ssl_error_log,它的内容如下:

[Sat Sep 03 12:37:36 2011] [warn] RSA server certificate CommonName (CN) `www.domain.com' does NOT match server name!?

这是什么意思?

UPDATE4:如果我改变

<VirtualHost *:443>

<VirtualHost www.domain.com:443>

当我尝试访问该页面时,浏览器弹出打开/保存 php 源文件的对话框?!?这简直太疯狂了……

答案1

看起来,GoDaddy 与许多 SSL 颁发机构一样,使用中间证书,该证书必须由您的 SSL 服务器提供,以确保信任链完整。

本质上,他们不是使用大多数浏览器已知的公共包中的证书来签署你的 CSR,而是使用他们自己的证书来签署你的 CSR;而他们的这个证书又是由浏览器要签署的公共包中的一个证书认证的任何事物

这样做有充分的理由,但结果是,当您在 SSL 握手阶段向人们提供证书时,您必须同时提供 godaddy 签名证书的副本。然后浏览器可以对自己说“站点证书由此中间 godaddy 证书签名,并且中间 godaddy 证书由例如 Equifax/Thawte/Verisign/我信任的其他顶级机构签名为‘可以签署其他内容’”,并且浏览器很高兴。如果浏览器没有获得该中间证书,它就无法连接信任链,并且会不高兴。

Godaddy 有一个适用于 Apache 的链式证书安装说明页面,网址为此帮助页面

编辑:听起来你的 SSL 配置比你写的要多。你不能只将配置添加到 apache 并期望它能正常工作,你必须删除任何冲突的内容。尝试

find /etc/http/conf -type f -exec grep -i sslcertificatefile {} /dev/null\;

/etc/http/conf如果您将其保存在其他地方,请用您的 apache 配置根替换)并查看 plesk 证书的配置位置。删除该部分并尝试重新启动 apache。

答案2

也许您需要SSLCertificateChainFileVirtualHost 中的选项。您应该在 SSL 提供商主页上找到更多信息。查看https://certs.godaddy.com/anonymous/repository.seam

相关内容