问题描述

例如:我将 eber.vip 设置为GitHub Pages的自定义域名,并使用CNAME方式接入。在使用acme.sh或其他工具申请通配符证书时,出现了”CAA record for eber.vip prevents issuance”的错误,导致无法申请ssl证书。
errorimg.png

问题原因

当 CA 机构查询 eber.vip 的 CAA 记录时,如果该域名有 CNAME 记录会优先查询 CNAME 指向的地址是否有 CAA 记录,恰巧github.io配置了 CAA, 并且允许 Let’s Encrypt 颁发单域名证书以及允许 Digi Cert 颁发单域名与通配符证书,所以当我们去申请 Let’s Encrypt 免费的通配符证书时会被驳回。

解决方案

一共有多种解决方案,我这里列举两个比较好操作的方式,任选其一即可!

  1. 不使用根域作为 GitHub Pages 的自定义域名。
  2. 用A记录接入 GitHub Pages 而不用 CNAME,参考文档

参考文档