通過在網站的權威DNS配置一條CNAME記錄,您可以將免費認證申請時所需要的DCV校正託管至ESA,讓其自動完成免費認證的簽發和續簽。
什麼是DCV
網域名稱控制驗證(DCV,Domain Control Validation)是憑證授權單位(CA)在為某個網域名稱頒發認證前,要求申請者證明對該網域名稱的控制權。
適用情境
對於CNAME接入的網站,如果網域名稱沒有解析到ESA,在申請Let's Encrypt認證過程中,ESA控制台將預設產生HTTP驗證方式的DCV資訊。若目標網域名稱無法部署HTTP驗證檔案,建議提前配置託管DCV記錄以規避HTTP驗證資訊的配置需求。
目前,Digicert認證僅支援DNS校正方式。因此,對於接入CNAME的網站,務必配置託管DCV,以確保Digicert認證的正常簽發和續簽。
配置託管DCV
在ESA控制台選擇網站管理,在網站列單擊目標網站。
在左側導覽列,選擇。
在托管 DCV地區,查看並複製CNAME資訊。
說明hostname替換說明:如果待託管網域名稱為泛網域名稱,如:
*.example.com,則hostname為example.com。如果待託管網域名稱非泛網域名稱,如:
esa.example.com,則hostname為esa.example.com。
前往您的網域名稱DNS服務商添加CNAME記錄。以阿里雲DNS解析為例,登入Alibaba Cloud DNS控制台,在左側導覽列,單擊公网权威解析。在公网权威解析頁面,找到對應網域名稱,單擊解析设置。
在解析设置頁面,單擊添加記錄,記錄類型選擇CNAME,將步驟三中複製的內容對應填寫到主机记录、记录值,單擊确定。
網域名稱類型
樣本網域名稱
在DNS服務位址應填寫的主機記錄(Digicert認證)
在DNS服務位址應填寫的主機記錄(Let's Encrypt認證)
在DNS服務位址應填寫的記錄值
根網域名稱
example.com_dnsauth_acme-challengeexample.com.網站ID.dcv.aliyun-esa.com子網域名稱
www.example.com_dnsauth.www_acme-challenge.wwwwww.example.com.網站ID.dcv.aliyun-esa.com泛網域名稱
*.example.com_dnsauth_acme-challengeexample.com.網站ID.dcv.aliyun-esa.com多級子網域名稱
api.test.example.com_dnsauth.api.test_acme-challenge.api.testapi.test.example.com.網站ID.dcv.aliyun-esa.com
為三級及以上子網域名稱(如 api.test.example.com)申請認證時,請注意以下事項:
在 DNS 服務位址填寫主機記錄時,僅填寫首碼部分(如
_dnsauth.api.test),不要重複攜帶完整網域名稱尾碼(如_dnsauth.api.test.example.com),否則會導致 DCV 驗證失敗。泛網域名稱認證(如
*.example.com)僅覆蓋二級子網域名稱(如www.example.com),不覆蓋三級及以上子網域名稱(如api.test.example.com)。如需為三級子網域名稱申請認證,請單獨申請並配置對應的 DCV 記錄。
對於以CNAME接入的網站,在通過託管DCV完成泛網域名稱認證申請後,請勿刪除DNS供應商上已配置的託管DCV資訊,以免造成後續認證續簽失敗。
驗證
如果您的認證中包含多個網域名稱,您需要為每一個網域名稱分別配置CNAME記錄。配置完成後,可以通過下列指令確認CNAME記錄配置是否生效。
如果認證申請失敗、認證狀態異常或瀏覽器提示認證不可信,請優先使用以下 dig 命令驗證 DNS 解析是否正確配置。解析生效通常需要幾分鐘至 10 分鐘,若驗證未通過請耐心等待或檢查 DNS 配置是否有誤。對於 Let's Encrypt 認證,請使用 _acme-challenge 首碼的命令驗證(見"驗證 Let's Encrypt 認證"章節)。
驗證Digicert認證
#【Digicert認證】
dig _dnsauth.<hostname> CNAME # 將<hostname>替換為您的次層網域,如:dig _dnsauth.example.com CNAME執行結果:
QUESTION SECTION(請求的部分):_dnsauth.a.example.com。
ANSWER SECTION(響應的部分): a.example.com.******728815680.dcv.aliyun-esa.com。
若響應的部分與您配置的記錄值一致則表示配置已生效。
生效時間可能需要幾分鐘,若失敗請重試。
驗證Let's Encrypt認證
#【Let's Encrypt認證】
dig _acme-challenge.<hostname> CNAME # 將<hostname>替換為您的次層網域,如:dig _acme-challenge.example.com CNAME執行結果:
QUESTION SECTION(請求的部分):_acme-challenge.a.example.com。
ANSWER SECTION(響應的部分): a.example.com.******728815680.dcv.aliyun-esa.com。
若響應的部分與您配置的記錄值一致則表示配置已生效。
生效時間可能需要幾分鐘,若失敗請重試。