Certbot

免费的letencrypt签发的证书只给了3个月有效期,为了解决自动化续期,之前已接入Certbot,但一直没work。

最近查看日志发现错误在于我当时配置的域名中有一个*.1991421.cn即泛域名,该类域名需要手动添加DNS TXT记录,因此我的多个证书申请就一直block着没work。为了解决该问题,最近找了下方案,这里mark下。

自动化续期

查看方案发现有这样的库certbot-letencrypt-wildcardcertificates-alydns-au。

大致的实现原理就是借助DNS服务商提供的API解决自动化更新DNS记录的问题,同时Certbot有暴露钩子因此也就可以搭配上域名申请过程。同时该库本身也支持了腾讯云/阿里云服务。

整体OK,但存在几个问题

  1. 支持域名不全,比如VIP域名,这里需要手动添加下。
  2. certbot-auto脚本并不存在,调研发现可以直接切换到certbot即可

搞清楚后,这里我就改造了下,有需求可以直接使用该库,https://github.com/alanhg/certbot-letencrypt-wildcardcertificates-alydns-au

测试发现这样很方便,首次手动申请后,之后便可以自动化了,具体work否等快过期时查看是否正常续期即可。

这样一来,正常情况下就不用操心域名续期问题了。

注意

  1. 比如CentOS,默认自带python环境,因此推荐选择python即可
  2. certbot没必要使用docker安装,直接全局即可,很方便