无法将Apache切换为使用新的SSL证书

我目前有一个运行Ubuntu Linux和Apache 2.0的网站,它使用GoDaddy发布的SSL证书。 由于我一直对GoDaddy不以为然,我决定从另一个供应商处获得一个SSL证书,但是我遇到了一些问题,试图改变我的Apacheconfiguration来使用新的证书。

我的原始Apacheconfiguration的SSL设置如下所示:

SSLEngine on SSLProtocol all SSLCertificateFile /etc/apache2/ssl/store.fatcatsoftware.com.crt SSLCertificateKeyFile /etc/apache2/ssl/fatcatstore.key SSLCertificateChainFile /etc/apache2/ssl/gd_intermediate_bundle.crt SSLProxyEngine on 

我安装了新的SSL证书,并将Apache更改为以下内容:

 SSLEngine on SSLProtocol all SSLCertificateFile /etc/apache2/ssl_geotrust/store.fatcatsoftware.com.crt SSLCertificateKeyFile /etc/apache2/ssl_geotrust/store.fatcatsoftware.com.key SSLProxyEngine on 

我把所有的path都加倍和三倍,而且都是正确的。 但是,当我重新启动Apache并尝试加载网站时,从Web浏览器收到错误消息,说明证书是由未知权威机构签署的。 然而,真正奇怪的是,它也说,证书是由GoDaddy发布的,所以就像Apache甚至没有使用新的证书,即使configuration文件指向它。 我甚至使用openssl x509 -noout -text -in server.crt检查了cert文件,并validation该path上的证书确实是新安装的证书。

作为一个进一步的testing,我尝试了使用相同的证书/密钥文件,并将其安装在运行OS X的机器上。我像在实际服务器上那样设置了Apacheconfiguration文件,并编辑了/ etc / hosts,在我的域名将redirect到本地,以避免在加载网站时有一个域名不匹配。 当我尝试设置时,一切正常! 所以看起来证书本身并不存在错误。

这两个设置之间唯一的主要区别是a)OS X框中有Apache 2.2而不是2.0,b)在网站上,Apache充当在后台运行Rails应用程序的杂种群集的代理,没有任何设置在我的OS X机器上。 我已经通过了所有可以find的mongrel / Rails设置,但没有发现任何似乎与SSL有关的东西。 据我所知,只有Apache负责处理SSL部分的事情。

在这一点上,我完全难住。 我能想到的唯一的事情就是在某个层次上有某种东西被caching了,但是如果我能find它,就会发生。 我甚至尝试closuresApache中的SSLSessionCache,但是没有任何区别。 任何人都有尝试新事物的build议?

再次检查在configuration文件中没有另一个虚拟主机,这个虚拟主机使用旧的证书。 特别是检查你可能已经configuration了虚拟主机的各种包含目录(/etc/apache.d),并忘记它。

另外还要检查一下你没有另外一个httpd.conf文件,这个文件是apache真正关注的,特别是如果你不是那个首先设置系统的人。