操作場景

操作目的

本文將指導您解決當您的網站使用 Github 靜態託管時導致騰訊雲免費證書無法簽發的問題。

問題背景

  1. 自2022年03月03日22:00:00起,TrustAsia 根證書籤發由 Digicert 根證書變更為 Sectigo 根證書。
  2. 用戶使用 Github 靜態託管時通常會將域名指向 Github 提供的CNAME記錄值,如”username.github.io”。
  3. 將域名指向 Github 提供的CNAME記錄值意味着該域名(子域名)所有解析記錄類型(含CAA)的紀錄值均由”username.github.io”提供。
  4. 由於 Github 提供的CNAME記錄值”username.github.io”中包含 CAA 記錄(如下述示例),且改該域名 CAA 記錄中不包含 Sectigo 根證書的授權,因此將導致騰訊雲免費證書無法簽發。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
rttw@Kincaid:~$ dig username.github.io caa

; <<>> DiG 9.19.5-1+0~20220921.84+debian11~1.gbp190ab0-Debian <<>> username.github.io caa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19362
;; flags: qr rd ad; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;username.github.io. IN CAA

;; ANSWER SECTION:
username.github.io. 0 IN CAA 0 issue "letsencrypt.org"
username.github.io. 0 IN CAA 0 issuewild "digicert.com"
username.github.io. 0 IN CAA 0 issue "digicert.com"

;; Query time: 90 msec
;; SERVER: 172.17.128.1#53(172.17.128.1) (UDP)
;; WHEN: Thu Oct 06 16:28:14 CST 2022
;; MSG SIZE rcvd: 154
  1. 域名所有者通過設置 CAA 解析記錄來授權指定的 CA 機構為其頒發 SSL 證書,同時 CA 機構根據規範要求,在頒發 SSL 證書時會強制性檢查域名 CAA 記錄,如果檢查發現未獲得授權,將拒絕為該域名頒發 SSL 證書,從而防止未授權的 SSL 證書錯誤頒發,規避安全風險。

操作步驟

  1. 登錄 DNSPod解析控制台,找到並單擊申請證書的域名。
    解析控制台

  2. 找到指向 Github 的 CNAME 記錄,單擊右側的暫停按鈕並暫停解析。

    說明:

    1. 僅需要暫停當前申請證書域名及主域名上指向 Github靜態託管 的 CNAME 記錄,其他指向記錄不需要暫停。(例如我為”blogs.dnstest.cc”申請證書,那我僅需暫停主機記錄為”@”和”blogs”的指向 Github靜態託管 的 CNAME 記錄,其他指向記錄不需要暫停。)
    2. 若您為主域名申請證書,請暫停主機記錄為”www”和”@”的指向 Github靜態託管 的 CNAME 記錄,其他指向記錄不需要暫停。
    3. 僅需要暫停指向 Github靜態託管 的 CNAME 記錄,其他記錄不需要暫停。

暫停解析

  1. 單擊添加記錄添加A記錄&AAAA記錄指向 Github 靜態託管的 IP 地址,以避免影響站點正常訪問。

    說明:

    1. 暫停哪些主機記錄就為哪些主機記錄添加 A 記錄 & AAAA 記錄,其他主機記錄不需要添加。
    2. Github 靜態託管的 IP 地址為:
      IPv4 IPv6(可選)
      185.199.108.153 2606:50c0:8000::153
      185.199.109.153 2606:50c0:8001::153
      185.199.110.153 2606:50c0:8002::153
      185.199.111.153 2606:50c0:8003::153
    3. 任選一個 IP 地址添加即可,不需要添加所有 IP 地址:

添加記錄

  1. 待證書籤發後刪除添加的 A 記錄 & AAAA 記錄,單擊已暫停的 CNAME 記錄右側的開啟按鈕恢復原有解析。