Let's Encrypt的ssl证书在renew的时候会产生如下报错:
DNS problem: SERVFAIL looking up CAA for www.XXX.cn - the domain's nameservers may be malfunctioning
原因:
CAA(Certification Authority Authorization,证书颁发机构授权)是一项防止HTTPS证书错误颁发的安全措施,遵从IETF RFC6844。从2017年9月8日起,要求CA(Certification Authority,证书颁发)机构执行CAA强制性检查。
公有云的云解析服务支持为公网域名设置CAA记录,所以你需要通过在管理控制台为域名添加CAA解析记录。
解决:
1、
设置CAA记录集的参数。
类型:CAA – CA证书颁发机构授权校验
线路类型:全网默认
TTL:5分钟
值:
0 issue "letsencrypt.org"
0 iodef mailto:你的邮箱
2、
验证CAA解析记录是否生效
CAA解析记录可以通过dig+trace命令查看域名是否生效以及具体的解析过程。
命令格式为:dig [类型] [域名] +trace。
示例如下:
# dig caa www.example.com +trace
CAA解析生成需要一定的时间,即使DNS解析已经出现了CAA,也多尝试几遍更新ssl证书,毕竟有一个延迟的原因存在(只要报错原因还是CAA)
参考:
1、https://support.huaweicloud.com/bestpractice-dns/zh-cn_topic_0107333199.html