当前位置:  开发笔记 > 运维 > 正文

apache上的SSL续订证书一直使用旧的证书文件

如何解决《apache上的SSL续订证书一直使用旧的证书文件》经验,为你挑选了1个好方法。

我正在尝试更新我的SSL证书,但有一些问题我可能会遗漏.在我完成以下步骤后,服务器继续使用旧证书,我不知道为什么.在这里,我做了什么:

    创建新的csr文件(domain.csr)+密钥文件(domain.key)

    openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

    复制csr文件内容并将其粘贴到我的ssl提供程序+获得批准.

    从中获取5个文件并将其上传到服务器(domain.der,domain.pem,domain.cer,chain.cer,domain.p7b)

    在apache ssl.conf文件上设置,SSLCertificateFile(domain.cer)SSLCertificateKeyFile(domain.key).

    重启 apache

由于某种原因,我的服务器仍在使用我的旧证书.

是我做错了什么?



1> Barry Pollar..:

好吧你自己想出来但是如果其他人处于相同的情况,这里有一些你可以检查的东西.

首先在本地检查是否有效,方法是在服务器上运行以下openssl命令(这是我们跳过的关键步骤!):

openssl s_client -connect localhost:443

这将显示从Apache向客户提供的证书.如果那不是正确的,那么你就知道Apache配置有问题.如果它是正确的那么下游的东西是一个问题.

在您的情况下,您在负载均衡器处终止SSL并忘记在那里更改证书.另一个问题可能是浏览器缓存SSL证书(重新启动它,Ctrl + F5强制刷新或更好地尝试其他浏览器或第三方网站,如ssllabs.com).

假设它是Apache的问题,那么您需要检查配置以检查证书的所有实例是否已被替换.以下命令将显示所有vhost以及它们配置的配置:

/usr/local/apache2/bin/apachectl -S

或者,只需使用标准的find和grep unix命令在Apache配置中搜索旧证书或新证书:

find /usr/local/apache2/conf -name "*.conf" -exec grep olddomain.cer {} \; -print

这两个命令都假定apache安装在/ usr/local/apache2中,但会根据需要更改路径.

如果所有看起来都很好并且您肯定重新启动了Apache,那么您可以尝试完全停止并重新启动,因为我注意到有时候Apache的优雅重启并不总能获得新的配置.在重新启动Web服务器之前,请检查您是否无法从浏览器进行连接(以确保连接到您认为要连接的服务器)并且使用以下命令关闭进程:

ps -ef | grep httpd

然后终于开始了.

要检查的另一件事是您正在安装的证书是您认为的证书,使用此openssl命令打印出证书详细信息(假设证书是x509格式,但有其他格式的类似命令):

openssl x509 -in domain.cer -text

最后但并非最不重要的是检查Apache日志文件,看看是否有任何错误.虽然希望这意味着没有加载证书而不是旧证书.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有