使用 Firebase 託管,您不必放棄以品牌為中心的獨特域名。您可以為 Firebase 託管的網站使用自定義域(例如example.com
或app.example.com
),而不是 Firebase 生成的域。
Firebase 託管為您的每個域提供 SSL 證書,並通過全球 CDN 提供您的內容。
本文檔的其餘部分將引導您完成這些步驟以連接您的自定義域。
請注意以下有關連接自定義域的信息:每個自定義域只能連接到一個託管站點。 由於 SSL 證書鑄造限制,每個自定義域僅限於每個頂級域有 20 個子域。 為託管設置您的域 確保您已完成項目的Firebase 託管頁面 中的“入門”嚮導,以便您的 Firebase 項目中有一個 Firebase 託管網站。
第 1 步 :添加域從您項目的託管頁面 ,輸入用於連接自定義域的嚮導:
如果您只有一個託管站點,請單擊添加自定義域 。 如果您有多個託管站點 ,請單擊所需站點的查看 ,然後單擊添加自定義域 。 輸入您要連接到託管站點的自定義域名。
(可選) 選中此框以將自定義域上的所有請求重定向到第二個指定域(例如example.com
和www.example.com
重定向到相同的內容)。
單擊繼續 以啟動驗證過程。
第 2 步 :驗證域所有權如果在連接域 設置嚮導中有要求,請驗證您的頂級域。
這些步驟確保您的域尚未與 Firebase 項目相關聯,並且您擁有指定的域。
在您的域提供商站點中,找到 DNS 管理頁面。
使用以下輸入添加和保存新記錄:
類型 :添加 TXT 記錄。
Firebase 託管要求您在 DNS 設置中持續保留此 TXT 記錄,以證明您對域的所有權並授權 Firebase 為您的站點分配和更新 SSL 證書。
您的域提供商可能會將此術語列為“記錄類型”。
主持人 :輸入您的頂級域密鑰 。
證明您對頂級域或根域的所有權,證明您對其所有子域的所有權。
您的域提供商可能會將此術語列為“主機名”、“名稱”或“域”。
值 :將唯一驗證值複製到字段中。
Firebase 託管檢查此值以證明您的域所有權。
您的域提供商可能會將此術語列為“數據”。
最多允許 24 小時傳播更新後的 TXT 記錄,然後點擊驗證 。
請注意,您可以單擊“取消 ”以安全地關閉“連接域 ”窗口並在稍後重新打開。這不會影響傳播時間,但會在您重新打開窗口時提示您重新輸入您的域名 。
在足夠的傳播時間後,單擊 Firebase 控制台的“連接域 ”窗口中的“驗證 ”允許您開始 SSL 證書配置過程。
在大多數情況下,您的記錄傳播和域驗證將在幾個小時內發生,具體取決於您的域提供商。有關添加 TXT 記錄和傳播時間的詳細說明,請參閱您的域提供商的文檔。
如果單擊驗證 提示錯誤消息,則您的記錄尚未傳播或您的值可能不正確。
第 3 步 :上線在 Firebase 控制台的“連接域 ”窗口中,如果您已經有一個站點在另一個託管服務提供商上運行並且需要零停機遷移,請選擇新站點的快速設置 或高級設置 。
快速設置
返回您的域名提供商的 DNS 管理站點,創建 DNS A 記錄,將您的頁面指向 Firebase 託管。使用以下輸入添加和保存記錄: 留出時間來配置您的 SSL 證書 。在您將 A 記錄指向 Firebase 託管後,這最多可能需要 24 小時。在大多數情況下,您的記錄傳播和 SSL 證書的配置將在幾個小時內發生,具體取決於您的域名提供商。 高級設置
Firebase 控制台的“連接域 ”窗口將要求您提供令牌以遷移現有站點。您只需完成以下其中一項即可提供令牌: 更新 DNS TXT 記錄 :訪問您的域提供商的 DNS 管理站點。使用您的域密鑰 和提供的值添加 TXT 記錄。 最多允許 24 小時傳播您的 TXT 記錄。將文件上傳到現有站點 :將令牌上傳到指定 URL 處的現有站點並驗證其存在。 此頁面必須通過 HTTPS 提供,並且不必有效或安全。加密令牌僅對一次有效。如果遷移失敗,將生成一個新令牌以供您記錄。留出時間來配置您的 SSL 證書 。這最多可能需要 24 小時。在大多數情況下,您的記錄傳播和 SSL 證書的配置將在幾個小時內發生,具體取決於您的域名提供商。 配置 SSL 證書後,返回到 DNS 提供商的 DNS 管理站點以添加 DNS A 記錄,將您的頁面指向 Firebase 託管。使用以下輸入添加和保存記錄: 確保刪除指向其他提供商的任何 A 記錄或 CNAME 記錄。同時刪除所有 AAAA 記錄。如果存在任何這些記錄類型,則 Firebase 無法提供 SSL 證書。 等待 SSL 證書配置 在驗證域所有權後,我們會為您的域提供 SSL 證書,並在您將 DNS A 記錄指向 Firebase 託管後的 24 小時內將其部署到我們的全球 CDN。
您的域將列為 FirebaseApp SSL 證書中的主題備用名稱 (SAN) 之一。您可以使用瀏覽器的安全工具查看此證書。在配置域時,您可能會看到不包含您的域名的無效證書。這是該過程的正常部分,將在您的域證書可用後解決。
對於高級設置 用戶,您的網站將由您之前的託管服務提供商託管,直到您項目的Firebase 託管頁面 中的設置狀態 更新為Connected 。
注意: Firebase 託管會根據需要自動為自定義域重新配置 SSL 證書。 您的自定義域密鑰 添加或編輯 DNS 記錄時,不同的域提供商希望您在其 DNS 管理站點中的主機 字段中輸入不同的輸入。我們在下方匯總了來自熱門提供商的常見輸入。有關詳細說明,請參閱您的域提供商的文檔。
域類型 自定義域密鑰 頂點域 常見的輸入包括:
@
頂級域名( example .com
) 將主機 字段留空 子域 常見的輸入包括:
完整的子域名(例如, app. example .com
) 僅子域部分(例如,僅app
,並省略. example .com
) 只有www
為 www 的子域www. example .com
常見域名提供商 以下是一些常見的域名提供商以及每個域名提供商可能需要的輸入類型。此信息會盡可能保持最新,但請參閱您的域提供商的文檔以獲取詳細說明。
雲焰 類型 主持人 價值 DNS TXT 記錄輸入 TXT example .com Firebase 控制台中提供的驗證值 DNS A 記錄輸入 一種 example .com 199.36.158.100 一種 萬維網 199.36.158.100
谷歌域名 類型 主持人 價值 DNS TXT 記錄輸入 TXT @ Firebase 控制台中提供的驗證值 DNS A 記錄輸入 一種 @ 199.36.158.100 一種 萬維網 199.36.158.100
谷歌云 DNS 類型 主持人 價值 DNS TXT 記錄輸入 TXT example .com Firebase 控制台中提供的驗證值 DNS A 記錄輸入 一種 example .com 199.36.158.100 一種 萬維網 199.36.158.100
名稱便宜 類型 主持人 價值 DNS TXT 記錄輸入 TXT @ Firebase 控制台中提供的驗證值 DNS A 記錄輸入 一種 @ 199.36.158.100 一種 @ 199.36.158.100
方形空間 類型 主持人 價值 DNS TXT 記錄輸入 TXT @ Firebase 控制台中提供的驗證值 DNS A 記錄輸入 一種 @ 199.36.158.100 一種 萬維網 199.36.158.100
自定義域的設置狀態說明 地位 描述 需要設置 您可能需要更改 DNS 記錄的配置。
待辦的 您正確設置了自定義域,但 Firebase 託管尚未配置 SSL 證書。
有時,以下問題可能會阻止為自定義域生成 SSL 證書:
您的 CAA 記錄過於嚴格。 故障排除提示:確保允許證書頒發機構“letsencrypt.org”和“pki.goog”為您的域創建 SSL 證書。 您的挑戰代碼無效。 如果您使用的是高級設置流程並且遷移失敗,則您的令牌(及其質詢代碼)現在無效。 故障排除提示:單擊域的查看 ,然後向現有域提供新令牌。 您為太多子域請求了證書。 故障排除提示:由於 SSL 證書生成限制,Firebase 託管通常建議在一個頂級自定義域上使用不超過 20 個子域。 連接的 您的自定義域具有正確的 DNS 記錄和 SSL 證書。 您可以提供您網站的內容。
需要重新驗證 如果發生以下任一情況,Firebase 可能會要求您手動重新驗證您的域名所有權:
當您最初驗證域所有權 時添加的 TXT 記錄已被更改或從域的 DNS 設置中刪除。 請注意,在單個域中允許使用帶有 google-site-verification 令牌的多個 TXT 記錄。 我們要求 TXT 記錄持續出現在您的 DNS 設置中,因為這證明您擁有該域並授權我們為您的站點分配和更新 SSL 證書。 驗證域所有權的人不再分配包含驗證域所有權所需權限的IAM 角色 。這些角色包括所有者、編輯者、Firebase 管理員和 Firebase 開發管理員。 故障排除提示:訪問您項目的託管頁面 ,在指定的時間窗口(通常為 30 天)內完成重新驗證過程,以避免您的自定義域與 Firebase 託管自動斷開連接。