我已经把一个网站移到另一台服务器,我有一个来自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>
有什么我做错了吗?
================================================== ================================
更新:build议,我添加了行,以启用godaddys捆绑证书在我的ssl.conf:
SSLCertificateChainFile /var/www/vhosts/domain.com/private/gd_bundle.crt
并注释掉了这一行:
#SSLCACertificateFile /var/www/vhosts/domain.com/private/gd_bundle.crt
一切还是一样的,证书是不可信的…
UPDATE2:我接受了证书并查看了它,它不是我的,它说“Plesk”是所有者。 出于某种原因,Plesk正在填充证书,我可以以某种方式删除它吗? 对不起,混乱…
UPDATE3:我看着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>
当我尝试访问该页面时,浏览器会popupPHP源文件的打开/保存对话框。 这只是疯狂…
看起来好像Godaddy和许多SSL发行商一样,使用SSL服务器必须提供的中间证书来完成信任链。
从本质上讲,它们不是用大多数浏览器已知的公共许可证签署CSR,而是用自己的证书签署CSR; 他们的这个证书本身又是由浏览器公共包中的一个证书来certificate的。
这样做有很好的理由,但结果是,当你在SSL握手阶段向人们提供你的证书时,你必须同时提供一份godaddy的签名证书。 然后浏览器可以对自己说:“站点证书是由这个中间的godaddy证书签名的,中间的godaddy证书被签名为”OK可以签署其他的东西“,例如Equifax / Thawte / Verisign /其他一些顶级权威人士信任“,浏览器很开心。 如果浏览器没有得到那个中间证书,它就不能连接信任链,而且不开心。
Godaddy在这个帮助页面上有一个针对apache的链式证书安装说明页面 。
编辑 :这听起来像你的SSLconfiguration比你写的更多。 你不能只是添加configuration到Apache,并期望它的工作,你必须删除任何冲突。 尝试
find /etc/http/conf -type f -exec grep -i sslcertificatefile {} /dev/null\;
(用你的apache config rootreplace/etc/http/conf ,如果你把它保留在其他地方),看看plesk证书的configuration在哪里。把这个部分删掉,然后尝试重新启动apache。
也许你需要你的VirtualHost中的SSLCertificateChainFile选项。 您应该在您的SSL提供程序主页上find更多信息。请参阅https://certs.godaddy.com/anonymous/repository.seam