在输入这个问题时我发现了这一点:
他的问题和我的问题一模一样,他尝试过的所有方法我都尝试过。不同之处在于他的问题解决了,因为他运行了 nginx。而我的情况是,我没有这样的反向代理服务器。所以我无法让 Apache 看到我使用 certbot 获得的新证书(这是另一个问题,certbot 自动续订不起作用并出现错误,因此我做了一个仅使用 certbot 证书的 apache,并将 etc/httpd/extra 中的 appach ssl-certs 指向那里。
像他一样尝试了其他所有方法。将 /etc/httpd/extra/ssl-certs 和 ssl-certs-proxy 指向的文件夹移动到 /tmp,并让这些文件指向新的 .pem 位置:
SSLCertificateFile /etc/letsencrypt/live/www.apo.nmsu.edu/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.apo.nmsu.edu/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.apo.nmsu.edu/chain.pem
Include /etc/letsencrypt/options-ssl-apache.conf
cert.pem -> ../../archive/www.apo.nmsu.edu/cert2.pem
chain.pem -> ../../archive/www.apo.nmsu.edu/chain2.pem
fullchain.pem -> ../../archive/www.apo.nmsu.edu/fullchain2.pem
privkey.pem -> ../../archive/www.apo.nmsu.edu/privkey2.pem
唉,什么都没有,没有任何变化,网站仍然报告票已过期。它在另一个文件夹 /live/apo.nmsu.edu-0004 中,我将其移至 tmp。所以不确定 apache 是如何收集所有这些信息的。
apachectl 是否停止,apachectl 是否启动,甚至重新启动,还重置了正在运行的虚拟机。
同样的问题。完全没有办法,甚至使用 openssl 检查了新的 .pem 文件,它们确实在 90 天内过期(它们来自 letsencrypt)。
还:
[root@web-server extra]# apachectl -v
Server version: Apache/2.4.6 (Scientific Linux)
Server built: Jul 29 2019 10:53:12
答案1
我想你应该检查一下你的 Apache 配置中指向的文件中有什么证书,尤其是你似乎涉及了一些符号链接。
命令:
# openssl x509 -noout -text -in <path to cert file from config>
或者
# openssl x509 -noout -startdate -enddate -in <path to cert file from config>
应该会有所帮助。请确保证书日期符合您的预期。