certbot dns-cloudflare 续订问题

certbot dns-cloudflare 续订问题

我正在使用带有 dns-cloudflare 身份验证器的 certbot 更新我的 letsencrypt 证书。

当我最初设置时,我使用了这个命令:

$ certbot certonly --dns-cloudflare --dns-cloudflare-credentials ~/certbot-cloudflare.ini -d dev.newbanking.com

并且它确实有效。(并且它仍然有效。)

当我使用此命令手动更新我的证书时:

$ certbot renew

它也有效。

但是,自动更新不起作用。在系统日志中,我得到了以下信息:

Jul  9 15:00:21 dev systemd[1]: Starting Certbot...
Jul  9 15:00:23 dev certbot[21649]: Renewal configuration file /etc/letsencrypt/renewal/dev.newbanking.com.conf (cert: dev.newbanking.com) produced an unexpected error: 'Namespace' object has no attribute 'dns_cloudflare_credentials'. Skipping.
Jul  9 15:00:23 dev certbot[21649]: 0 renew failure(s), 1 parse failure(s)
Jul  9 15:00:23 dev systemd[1]: certbot.service: Main process exited, code=exited, status=1/FAILURE
Jul  9 15:00:23 dev systemd[1]: Failed to start Certbot.
Jul  9 15:00:23 dev systemd[1]: certbot.service: Unit entered failed state.
Jul  9 15:00:23 dev systemd[1]: certbot.service: Failed with result 'exit-code'.

/etc/letsencrypt/renewal/dev.newbanking.com.conf 文件如下所示:

# renew_before_expiry = 30 days
version = 0.30.0
archive_dir = /etc/letsencrypt/archive/dev.newbanking.com
cert = /etc/letsencrypt/live/dev.newbanking.com/cert.pem
privkey = /etc/letsencrypt/live/dev.newbanking.com/privkey.pem
chain = /etc/letsencrypt/live/dev.newbanking.com/chain.pem
fullchain = /etc/letsencrypt/live/dev.newbanking.com/fullchain.pem

# Options used in the renewal process
[renewalparams]
authenticator = dns-cloudflare
account = <this-value-I-have-obscured>
server = https://acme-v02.api.letsencrypt.org/directory
dns_cloudflare_credentials = /root/certbot-cloudflare.ini

Certbot 版本:

$ certbot --version
certbot 0.30.0

我正在运行 Ubuntu 16.04。

答案1

这个问题解决了。问题是我安装了两个 certbot,一个(最新版本)通过命令行使用,另一个(最旧版本)由计时器触发。

解决方案是删除最旧的版本,然后重新安装最新版本,然后重新安装我的证书。

相关内容