更新 2023-05-06:是的。看起来 CentOS7 的 NetworkManager 覆盖了 /etc/resolv.conf。禁用它后就没再出现过问题。
更新 2023-04-20:看来 CentOS7 的 NetworkManager 是罪魁祸首。它覆盖了 /etc/resolv.conf。此后,我停止并禁用了 NetworkManager,而我的 resolv.conf 保留了我想要的 /etc/sysconfig/network-scripts/ 文件中的 DNS 条目。此后再也没有收到续订错误。过一段时间后再回答我的问题。
在 CentOS 7 上使用了 certbot 多年。它是一项日常 cron 任务。似乎每次我的某个域名需要续订时,cron 都会报告以下内容:
Failed to renew certificate renewthisdomain.com with error: hostname 'acme-v02.api.letsencrypt.org' doesn't match 'renewthisdomain.com'
All renewals failed. The following certificates could not be renewed:
/etc/letsencrypt/live/renewthisdomain.com/fullchain.pem (failure)
然后我必须通过 ssh 进入我的服务器并运行,certbot renew
但第一次总是失败(与上面相同的错误消息),然后当我第二次尝试时,它似乎总是成功。
根据错误信息判断,DNS 查找出现了问题,但我搞不清楚
我在同一台机器(主机器和从机器)上运行自己的 DNS 服务器,但据我所知,其他一切都运行正常。
这可能是来自 /var/log/letsencrypt/letsencrypt.log 的相关错误:
2023-04-08 11:32:34,314:DEBUG:certbot.ocsp:Error while running openssl ocsp -no_nonce -issuer /etc/letsencrypt/archive/domain.com-0001/chain20.pem -cert /etc/letsencrypt/archive/domain.com-0001/cert20.pem -CAfile /etc/letsencrypt/archive/domain.com-0001/chain20.pem -verify_other /etc/letsencrypt/archive/domain.com-0001/chain20.pem -trust_other -timeout 10 -header Host r3.o.lencr.org -url http://r3.o.lencr.org.
Error querying OCSP responder
2023-04-08 11:32:34,314:INFO:certbot.ocsp:OCSP check failed for /etc/letsencrypt/archive/domain.com-0001/cert20.pem (are we offline?)
2023-04-08 11:32:34,316:INFO:certbot._internal.renewal:Cert not yet due for renewal
谢谢
答案1
原来是 CentOS7 的 NetworkManager 覆盖了 /etc/resolv.conf,所以某种 DNS 解析肯定经常失败。停止并禁用它后,大约一个月内我没有遇到任何问题,而以前我每周都会遇到多个问题。