解决letsencrypt出现Error creating new authz :: Validations for new domains are disabled in the V1 API问题

背景

今天收到Let's Encrypt Expiry Bot邮件通知,说某个我设置好自动更新证书的域名的证书还有19天就要过期了。这究竟是为什么呢?

排查

登录到机器上手工尝试更新,发现产生了如下错误:

所以关键信息看起来是letsencrypt不再支持V1的API更新了,而我的配置脚本里设置了使用v1的API。通过查看官方的说明,推荐使用系统自带的可以更新的certbot,而不是从官方下载的通用版certbot-auto。那这样问题解决就比较容易了。

处理

因为目标系统是centos 7,所以参照官网给出的说明进行处理即可。因为我使用了dnspod的dns验证,所以特别安装了一下这个pip包。

最后更新一下crontab,问题解决。