連接自定義域

通過 Firebase Hosting,您不必放棄以品牌為中心的獨特域名。您可以為 Firebase 託管的網站使用自定義域名(例如example.comapp.example.com ),而不是 Firebase 生成的域名。

Firebase 託管為您的每個域提供 SSL 證書,並通過全球 CDN 提供您的內容。

本文檔的其餘部分將引導您完成連接自定義域的步驟。

設置您的託管域

確保您已從項目的Firebase 託管頁面完成“入門”嚮導,以便您的 Firebase 項目中擁有一個 Firebase 託管網站。

第 1 步:添加自定義域

  1. 從項目的託管頁面,輸入連接自定義域的嚮導:

    • 如果您只有一個託管站點,請單擊“添加自定義域”
    • 如果您有多個託管站點,請單擊所需站點的“查看” ,然後單擊“添加自定義域”
  2. 輸入您想要連接到託管站點的自定義域名。

  3. (可選)選中該框可將自定義域上的所有請求重定向到第二個指定的域(例如example.comwww.example.com重定向到相同的內容)。

  4. 單擊繼續配置您的 DNS 記錄並完成自定義域的設置。

第 2 步:設置自定義域

如果連接域設置嚮導中要求,請驗證您的頂級域。

這些步驟可確保您的域尚未與 Firebase 項目關聯,並且您擁有指定的域。

  1. 在域提供商的站點中,找到 DNS 管理頁面。

  2. 使用以下輸入添加並保存新記錄:

    • 類型:添加 TXT 記錄。

      Firebase 託管要求您在 DNS 設置中持續保留此 TXT 記錄,以證明您對該域的所有權並授權 Firebase 為您的網站分配和續訂 SSL 證書。

      您的域名提供商可能會將此術語列為“記錄類型”。

    • 主機:輸入您的頂級域密鑰

      證明您對頂級域或根域的所有權,就證明了您對其所有子域的所有權。

      您的域名提供商可能會將此術語列為“主機名”、“名稱”或“域名”。

    • :將唯一驗證值複製到字段中。

      Firebase Hosting 檢查此值以證明您的域名所有權。

      您的域名提供商可能會將此術語列為“數據”。

  3. 最多需要 24 小時來傳播更新的 TXT 記錄,然後單擊“驗證”

    請注意,您可以單擊“取消”以安全地關閉“連接域”窗口並稍後重新打開。這不會影響傳播時間,但當您重新打開窗口時,系統會提示您重新輸入域名

    經過足夠的傳播時間後,單擊 Firebase 控制台的“連接域”窗口中的“驗證”即可開始 SSL 證書配置過程。

    在大多數情況下,您的記錄的傳播和域名的驗證將在幾個小時內完成,具體取決於您的域名提供商。有關添加 TXT 記錄和傳播時間的詳細說明,請參閱域提供商的文檔。

    如果單擊“驗證”提示錯誤消息,則表明您的記錄尚未傳播或者您的值可能不正確。

在 Firebase 控制台的“添加自定義域”嚮導中,選擇“快速設置”“高級設置”

快速設置可用於當前未接收流量的新域或您嘗試從其他託管站點轉移的域。如果您已經有一個域在另一個託管提供商上接收請求並且需要零停機遷移,則可以使用高級設置

高級設置嚮導將幫助您建立 SSL 證書和所有權聲明,以允許託管在接收流量之前為域上的流量提供服務。

等待 SSL 證書配置

驗證域名所有權後,我們會為您的域名配置 SSL 證書,並在您將 DNS A 記錄指向 Firebase 託管後 24 小時內將其部署在我們的全球 CDN 中。

您的域將被列為 FirebaseApp SSL 證書中的使用者備用名稱 (SAN) 之一。您可以使用瀏覽器的安全工具查看此證書。在配置域時,您可能會看到不包含您的域名的無效證書。這是該過程的正常部分,將在您的域證書可用後解決。

對於高級設置用戶,您的網站將由您以前的託管提供商託管,直到項目的Firebase 託管頁面中的設置狀態更新為已連接

您的自定義域密鑰

添加或編輯 DNS 記錄時,不同的域提供商希望您在其 DNS 管理站點中的主機字段中輸入不同的內容。我們整理了以下熱門提供商的常見輸入。有關詳細說明,請參閱您的域提供商的文檔。

域名類型自定義域密鑰
頂點域

常見的輸入包括:

  • @
  • 頂級域名(例如example .com
  • 主機字段留空
子域

常見的輸入包括:

  • 完整的子域名(例如, app. example .com
  • 僅子域部分(例如,僅app ,並省略. example .com
  • wwwwww. example .com

常見域名提供商

以下是一些常見的域提供商以及每個域提供商可能需要的輸入類型。此信息盡可能保持最新,但請參閱您的域名提供商的文檔以獲取詳細說明。

自定義域的設置狀態描述

地位描述
需要設置

您可能需要更改 DNS 記錄的配置。

  • 在大多數情況下,您的 DNS A 記錄尚未從域名提供商傳播到 Firebase 託管服務器。
    問題排查提示:如果已經超過 24 小時,請檢查您是否已將記錄指向 Firebase 託管。

  • 在極少數情況下,特別是如果您使用高級設置流程,SSL 質詢可能會失敗,因為:

    • 您的 DNS 記錄具有指向其他託管提供商的 A 記錄或 CNAME 記錄。
      問題排查提示:檢查您的 A 記錄是否僅指向 Firebase Hosting,並刪除所有 CNAME 記錄。
    • 遷移失敗,令牌(DNS TXT 記錄或提供給您站點的上傳文件)現已無效。
      故障排除提示:單擊域的“查看” ,然後向現有域提供新令牌。
待辦的

您正確設置了自定義域,但 Firebase 託管尚未配置 SSL 證書。

有時,以下問題可能會阻礙自定義域的 SSL 證書的創建:

  • 您的 CAA 記錄限制太多。
    故障排除提示:確保允許證書頒發機構“letsencrypt.org”和“pki.goog”為您的域創建 SSL 證書。
  • 您的挑戰代碼無效。
    如果您使用高級設置流程並且遷移失敗,則您的令牌(及其質詢代碼)現在無效。
    故障排除提示:單擊域的“查看” ,然後向現有域提供新令牌。
  • 您請求了太多子域的證書。
    問題排查提示:一般來說,由於 SSL 證書鑄造限制,Firebase 託管建議一個頂點自定義域上的子域不要超過 20 個。
鑄幣證書

正在為您的域生成 SSL 證書。

連接的

您的自定義域具有正確的 DNS 記錄並具有 SSL 證書。
您可以提供您網站的內容。