Defaults.Exposed › 設置 › CAA
如何在 Cloudflare 上設定 CAA 記錄
在 Cloudflare 中新增 CAA 記錄,控制哪些憑證頒發機構可以為你的網域簽發 SSL 憑證。
這對你的業務意味著什麼
CAA(Certification Authority Authorization,憑證頒發機構授權)記錄指定了哪些憑證頒發機構(即簽發瀏覽器網址列掛鎖背後 SSL/TLS 憑證的公司)可以為你的網域簽發憑證。任何守規矩的機構都必須先檢查這條記錄,如果自己不在名單上,就必須拒絕簽發請求。
說得直白一點:沒有 CAA 記錄,全球數百家憑證頒發機構中的任何一家都可能被騙或因失誤而向他人簽發一張針對你網域的有效憑證——攻擊者可以藉此惟妙惟肖地假冒你的網站。CAA 記錄把這扇門關上,等於宣布:只有這幾家機構,其他一概不行。 它免費,幾分鐘就能搞定。
先確認 Cloudflare 在為你解析 DNS
這只有在 Cloudflare 負責回應你網域的 DNS 時才有效。Cloudflare 是你的 DNS 託管方,只有當你網域的**網域名稱伺服器(nameservers)**指向主控台中顯示的 Cloudflare 網域名稱伺服器時,它的 DNS 才會生效。在 Cloudflare 中打開你的網域,查看 Overview 頁面以確認 Cloudflare 處於啟用狀態。如果你的網域名稱伺服器指向別處,請到真正負責你 DNS 的服務商那裡新增 CAA 記錄。
先弄清楚你的憑證頒發機構
動手新增之前,先弄清楚是哪家機構在簽發你的憑證,否則你可能會把自己的服務商也擋在門外。常見取值:
letsencrypt.org— Let’s Encrypt(大多數免費及自動化憑證使用)digicert.com— DigiCertsectigo.com— Sectigoglobalsign.com— GlobalSignpki.goog— Google Trust Servicesamazon.com— Amazon(AWS Certificate Manager)
關於 Cloudflare 的一點提醒:如果你使用 Cloudflare 自帶的 SSL(即橙雲代理模式),Cloudflare 會代你透過多家機構簽發憑證——所以請確保你新增的任何 CAA 記錄仍然允許這些機構,或者乾脆把 CAA 交給 Cloudflare 管理。如果不確定,可以問搭建你主機環境的人,或在瀏覽器裡查看憑證(點擊掛鎖,再查看憑證的頒發者)。
Cloudflare 上的操作步驟
- 登入 Cloudflare,選擇你的網域。
- 在左側選單中進入你的 DNS 設定(找 DNS / Records)。
- 點擊 Add record。
- 將**類型(Type)**設為 CAA。
- 在 Name 欄位中輸入:
@@代表網域的根。Cloudflare 會自動為你補上網域,因此不要在後面填寫你的網域。 - Cloudflare 把 CAA 欄位做成了友好的選單。按如下設定:
- Flags:
0 - Tag:選擇 Only allow specific hostnames(這就是
issue標籤) - CA domain name(值):
letsencrypt.org
- Flags:
- TTL 保持為 Auto。
- 點擊 Save。
允許多家憑證頒發機構
大多數網域隨著時間會用到不止一家機構——比如現在用免費憑證、以後用付費憑證,或為另一項服務用另一家。要允許多家,請為每一家各新增一條獨立的 CAA 記錄。它們都使用相同的 @ 名稱、0 旗標值和 issue 標籤,只有 CA 網域名稱值不同:
- 一條記錄的值為
letsencrypt.org - 一條記錄的值為
digicert.com
這兩條合起來表示:這兩家機構都允許,其他都不行。 你不要把它們合併到一條記錄裡。
Cloudflare 上人們常踩的坑
- 最大的錯誤就是把自己的機構擋在門外。 如果你新增的 CAA 記錄只列了
digicert.com,而你的憑證其實是透過 Let’s Encrypt 續期的,那麼下一次續期就會悄無聲息地失敗,幾週後你的掛鎖可能突然失效。儲存前務必把你真正使用的每一家機構都列進去。 - 當心 Cloudflare 自帶的 SSL。 如果你的流量經過 Cloudflare(橙雲),Cloudflare 需要能夠取得邊緣憑證。新增一條把 Cloudflare 所用機構排除在外的 CAA 記錄會破壞這一點——拿不準時,請在你自己用的機構之外,連同 Let’s Encrypt 和 Google Trust Services(
pki.goog)一起允許,或乾脆把 CAA 交給 Cloudflare 管理。 - 名稱是
@,不是你的網域。 根用@;Cloudflare 會自行補上網域。 - 標籤措辭有別。 Cloudflare 在選單裡把
issue標籤標注為 Only allow specific hostnames。日常使用選它就對了。 - 旗標值普通記錄用
0。 另一個值128是嚴格模式——只在你有意為之時才用。 - 填裸網域,請勿填入網址。 值是
letsencrypt.org,絕不是https://letsencrypt.org,也不要帶www.。 - CAA 記錄不走代理。 CAA 是純 DNS 記錄——這裡沒有橙雲/灰雲開關需要操心。
- 給它一點時間。 DNS 變更生效需要幾分鐘到幾個小時不等。已有憑證照常工作;CAA 只在簽發或續期新憑證時才會被檢查。
驗證是否生效
儲存並傳播完成後,運行本站的免費檢測。它會用通俗的語言告訴你 CAA 記錄是否已就位、你允許了哪些機構。
完成了? 免費檢查您的網域 以確認設置已生效——並查看您在全部 34 項檢查中的完整評級。