Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

連接自定義域

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

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

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

為託管設置您的域

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

第 1 步:添加域

  1. 從您項目的Hosting 頁面,輸入用於連接自定義域的嚮導:

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

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

  4. 單擊繼續以啟動驗證過程。

第 2 步:驗證域所有權

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

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

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

  2. 添加並保存具有以下輸入的新記錄:

    • 類型:添加 TXT 記錄。

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

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

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

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

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

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

      Firebase 託管會檢查此值以證明您的域所有權。

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

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

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

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

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

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

第 3 步:上線

在 Firebase 控制台的“連接域”窗口中,如果您已經有一個站點在其他託管服務提供商上運行並且需要零停機遷移,則為新站點選擇“快速設置”或“高級設置”

等待 SSL 證書配置

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

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

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

您的自定義域密鑰

添加或編輯 DNS 記錄時,不同的域提供商希望您為其 DNS 管理站點中的主機字段輸入不同的輸入。我們在下面彙編了來自流行供應商的常見輸入。有關詳細說明,請參閱您的域提供商的文檔。

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

常見的輸入包括:

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

常見的輸入包括:

  • 完整的子域名(例如, app. example .com
  • 只有子域部分(例如, app只,並留出. example .com
  • www用於www的子域www. example .com

常見域名提供商

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

自定義域的設置狀態描述

地位描述
需要設置

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

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

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

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

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

有時,以下問題可能會阻止為自定義域生成 SSL 證書:

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

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

需要重新驗證

如果發生以下任何一種情況,Firebase 可能會要求您手動重新驗證域所有權:

  • 在您最初驗證域所有權時添加的 TXT 記錄已更改或從域的 DNS 設置中刪除。
    • 請注意,單個域上允許有多個帶有 google-site-verification 令牌的 TXT 記錄。
    • 我們要求 TXT 記錄持續存在於您的 DNS 設置中,因為這證明您擁有該域並授權我們為您的站點分配和續訂 SSL 證書。
  • 驗證域所有權的人員不再被分配包含驗證域所有權所需權限的IAM 角色。這些角色包括所有者、編輯者、Firebase 管理員和 Firebase 開發管理員。
故障排除提示:訪問您項目的Hosting 頁面以在指定的時間範圍內(通常為 30 天)完成重新驗證過程,以避免您的自定義域與 Firebase Hosting 自動斷開連接。