我在运行 Centos 5.3 / Apache 2.2.3 的专用服务器上为一个网站提供了 Godaddy SSL 证书。我最近在 Godaddy 上更新了证书,但现在我的网站上显示证书已过期。此后,我重新密钥化了证书,并将 domain.key、domain.crt 和 bundle.crt(示例文件名)文件重新上传到服务器,重新启动了 Apache,但证书仍然显示已过期。我快找不到线索了。
我尝试用 jiberish 替换 .crt 文件的内容并重新启动 apache - 它仍然显示证书已过期,即使它根本不应该被拾取。我最终重新启动了专用服务器,仍然没有运气。我正在使用免费的 SSL 检查工具http://www.digicert.com/help/上面清楚地显示了除证书已过期之外的所有绿色勾号。有人知道是什么原因造成的吗?这里可能存在某种缓存吗?
更新:运行后
openssl x509 -in domain.crt -noout -enddate
我得到了这个输出:
notAfter=Jun 2 08:16:51 2013 GMT
所以我认为这意味着我在服务器上有正确的证书,但网络上显示的是旧的过期证书......
已解决:我之前没有提到过这一点,但看起来旧证书挂在 Plesk 上,而 Plesk 并没有被用来创建它,因此从未被查看过。
答案1
再检查一下,你可以运行
openssl x509 -in 域.crt -noout -enddate
对照服务器上的证书文件。我还会检查客户端上的 DNS 解析是否正确。还要检查本地主机文件中是否有旧条目。
答案2
不,没有缓存。简而言之,您没有将新证书放在正确的位置。您需要查看您的全部的Apache 配置并找到您的证书的正确位置。
答案3
如果您具有灵活性,我会尝试将 mod_ssl 的日志级别设置为一个合适的级别,看看您是否无法遵循 Apache 在启动时所采取的步骤。
您可以设置专用的 mod_ssl 日志记录,如下所述:
答案4
该问题是由 Plesk 引起的,由于它已经很久没有使用了,因此从未被视为问题的一部分,但是它以某种方式设法覆盖了我手动添加的 SSL 证书。