就像 gitbook 提供的自定义域我必须设计一个服务,用户可以注册他们的自定义域名。例如,我有一个服务 hosting.example.com用户可以基于此服务注册任何域名。例如,我希望用户只需编辑 CNAMEsub1.example.netCNAME 到hosting.example.com。
我的服务已经处理了虚拟主机,可以在 HTTP 上正常提供服务。现在我必须使用 lets encrypt 提供 HTTPS。我已经调查了acem.sh但必须额外的 CNAME_acme-challenge.sub1.example.net。我想减少这个步骤并让用户只需编辑 DNS 一个且只有一个 CNAME 记录。
因为我的服务基于 K8S 环境,HTTP-01 挑战不适合这种情况。
[更新] 由于我使用了通配符 CA,DNS 01 似乎是唯一可行的方法。
答案1
好吧,我终于解决了我的问题。
首先,DNS-01将强制验证_acme-挑战DNS 前缀,所以我的原始问题是不可能的。在我的场景中,我提供了两个颁发者:DNS-01 和 HTTP-01,一个用于我的通配符 CA 目的,另一个用于动态 CNAME 目的。
基于相同的命名空间,有两个颁发者:letsencrypt-dns01 和 letsencrypt-http01。当我需要通配符 CA 时,我会创建一个证书,并且 issuerRef 指向 letsencrypt-dns01。
此外,当基于Python,该服务(部署)需要添加额外的服务账号及相关权限。