certd/docs/guide/feature/cname/index.md

2.3 KiB
Raw Blame History

CNAME代理校验方式

通过CNAME代理校验方式可以给Certd不支持的域名服务商的域名申请证书。

1. 前言

  • 申请证书是需要校验域名所有权的。
  • DNS校验方式需要开发适配DNS服务商的接口
  • 目前Certd已实现主流域名注册商的接口阿里云、腾讯云、华为云、Cloudflare、西数
  • 如果域名不在这几家,DNS校验方式就行不通
  • 那么就只能通过CNAME代理校验方式来实现证书自动申请

2. 原理

  • 假设你要申请证书的域名叫:cert.com ,它是在Certd不支持的服务商注册的
  • 假设你还有另外一个域名叫:proxy.com,它是在Certd支持的服务商注册的。
  • 当我们按照如下进行配置时
                  CNAME记录手动、固定           TXT记录自动、随机
_acme-challenge.cert.com ---> xxxxx.cname.proxy.com ----> txt-record-abcdefg
   
  • 证书颁发机构就可以从_acme-challenge.cert.com查到TXT记录 txt-record-abcdefg,从而完成域名所有权校验。
  • 以上可以看出 xxxxx.cname.proxy.com ----> txt-record-abcdefg 这一段Certd可以自动添加的。
  • 剩下的只需要在你的cert.com域名中手动添加一条固定的CNAME解析即可

3. Certd CNAME使用步骤

  1. 准备一个支持的服务商的注册的域名(proxy.com),或者将你众多域名其中一个DNS服务器转到这几家服务商。

  2. 然后到CertdCNAME服务管理界面,用cname.proxy.com创建一条默认的CNAME服务提供DNS提供商授权。

  3. 然后创建证书流水线,输入cert.com,选择CNAME校验方式

  4. 此时需要配置验证计划Certd会生成一个随机的CNAME记录例如_acme-challenge->xxxxxx.cname.proxy.com

  5. 您需要手动在你的cert.com域名中添加CNAME解析点击校验校验成功后就可以开始申请证书了 (此操作每个域名只需要做一次后续可以重复使用注意不要删除添加的CNAME记录)

  6. 申请过程中Certd会在xxxxxx.cname.proxy.com下自动添加TXT记录。

  7. 到此即可自动化申请证书了