您不必放棄使用 Firebase Hosting 的獨特品牌網域名稱。您可以使用自訂網域 (例如 example.com
或 app.example.com
),而非 Firebase 產生的網域,用於 Firebase 託管的網站。
Firebase Hosting 會為每個網域佈建 SSL 憑證,並透過全球 CDN 提供內容。
本文件的後續內容會逐步說明如何連結自訂網域。
為 Hosting 設定網域
請確認您已完成專案 Firebase Hosting 頁面中的「開始使用」精靈,以便在 Firebase 專案中建立 Firebase Hosting 網站。
步驟 1:新增自訂網域
在專案的 Hosting 頁面中,輸入連結自訂網域的輔助程式:
- 如果您只有一個 Hosting 網站,請按一下「新增自訂網域」。
- 如果您有多個 Hosting 網站,請依序按一下所需網站的「查看」和「新增自訂網域」。
輸入要連結至 Hosting 網站的自訂網域名稱。
(選用) 勾選這個方塊,即可將自訂網域上的所有要求重新導向至第二個指定網域 (例如將
example.com
和www.example.com
重新導向至相同內容)。按一下「繼續」,即可設定 DNS 記錄並完成自訂網域的設定。
步驟 2:設定自訂網域
如果「連結網域」設定精靈要求,請驗證頂層網域。
這些步驟可確保您的網域未與 Firebase 專案連結,且您擁有指定的網域。
在網域供應商的網站中,找出 DNS 管理頁面。
使用下列輸入內容新增及儲存新記錄:
類型:新增 TXT 記錄。
Firebase Hosting 要求您持續在 DNS 設定中保留這個 TXT 記錄,以證明您擁有該網域,並授權 Firebase 為您的網站指派及更新 SSL 憑證。
網域供應商可能會將這個詞彙列為「記錄類型」。
Host:輸入頂層網域金鑰。
證明您是頂層網域 (或根網域) 的擁有者,就等於證明您擁有所有子網域。
網域供應商可能會將這個字詞列為「主機名稱」、「名稱」或「網域」。
值:將專屬驗證值複製到欄位中。
Firebase Hosting 會檢查這個值,證明您擁有網域。
您的網域供應商可能會將這項條款列為「資料」。
更新的 TXT 記錄最多需要 24 小時才能完成傳播,請耐心等候,然後點選「驗證」。
請注意,您可以點選「取消」來安全關閉「連結網域」視窗,並在稍後重新開啟。這不會影響更新時間,但重新開啟視窗時,系統會提示您重新輸入網域名稱。
在充分的傳播時間過後,您可以按一下 Firebase 主控台「Connect Domain」視窗中的「Verify」,開始 SSL 憑證佈建程序。
在大多數情況下,系統會在幾小時內完成記錄的散布作業,並驗證網域,具體時間視網域供應商而定。如需新增 TXT 記錄和設定傳播時間的詳細操作說明,請參閱網域供應商的說明文件。
如果點選「驗證」後出現錯誤訊息,表示您的記錄尚未套用,或是值可能有誤。
在 Firebase 控制台的「Add Custom Domain」精靈中,選取「Quick Setup」或「Advanced Setup」。
快速設定可用於目前未接收流量的新網域,或是您嘗試從其他 Hosting 網站轉移的網域。如果您已在其他代管服務供應商的服務器上設定網域接收要求,且需要進行零停機遷移,可以使用進階設定。
進階設定精靈可協助您建立 SSL 憑證和擁有權聲明,讓 Hosting 在收到流量之前,先在網域上提供流量。
快速設定
- Firebase 控制台的「Add Custom Domain」精靈會顯示需要更新的必要記錄,以便將網頁指向 Firebase Hosting。使用下列輸入內容,在 DNS 供應商中新增、移除及儲存網域記錄:
- 類型:新增提供的 DNS 記錄。
- 主機:輸入記錄的自訂網域金鑰。
- 值:將提供的 IP 位址指派給記錄的值。
- 請留出時間為 SSL 憑證進行佈建。 將 DNS 指向 Firebase Hosting 後,這項作業最多可能需要 24 小時才能完成。在大多數情況下,記錄會在幾小時內傳播,安全資料傳輸層 (SSL) 憑證也會在幾小時內佈建完成,具體時間取決於網域供應商。
您指定的主機是您要用來提供內容的網域,這個網域可以是頂層網域或子網域。
您的網域供應商可能會將這個字詞列為「主機名稱」、「名稱」或「網域」。
網域供應商可能會將這項條件列為「資料」、「指向」、「內容」、「位址」或「IP 位址」。
進階設定
您可以透過「Add Custom Domain」精靈的「進階」設定模式,在將流量導向伺服器之前,先設定 Hosting,以便安全地提供網域服務。一般來說,Hosting需要三個條件,才能成功在網域上放送流量:
- 擁有權記錄:TXT 記錄會告訴 Hosting 在網域上要服務哪個網站
- SSL 憑證:特定網域的憑證,可在 Hosting 伺服器和使用者之間進行加密通訊
- 代管 IP 記錄:一或多個 A 和 AAAA 記錄,將網域的所有要求導向 Hosting 伺服器
進階設定會引導您設定網域,讓 Hosting 提前處理前兩項規定,以便在開始接收網域流量前,就能夠提供正確的內容。這個精靈會將這項程序以兩個步驟的工作流程表示:
- 準備網域
- 更新 DNS 記錄:將一或多個記錄新增至網域:
- 擁有權:TXT 記錄的格式為 `hosting-site=[site_id]`。
- CAA (選用):一組 CAA 記錄,可讓 Hosting 的憑證授權單位為您的網域產生 SSL 憑證。只有在 Hosting 發現現有的 CAA 記錄會阻止其佈建憑證時,才會顯示。
- 設定 SSL 憑證:精靈會提供 ACME 挑戰,Hosting 的憑證授權單位會使用這項挑戰為您的網域建立 SSL 憑證。您可以選擇 DNS 或 HTTP 驗證:
- DNS 挑戰:前往網域供應商的 DNS 管理網站。新增含有 ACME 挑戰子網域金鑰和提供值的 TXT 記錄。TXT 記錄最多可能需要 24 小時才會生效。
- HTTP 挑戰:將提供的文字檔上傳至現有網站的指定網址,並驗證檔案是否存在。
- 直接前往 Hosting
- 類型:新增要求的 DNS A/AAAA 記錄。
- 主機:
請為這兩個記錄輸入自訂網域金鑰。
您指定的主機是您要放送內容的網域,這個網域可以是頂層網域或子網域。您的網域供應商可能會將這個字詞列為「主機名稱」、「名稱」或「網域」。
- 值:為每個 DNS A/AAAA 記錄指派一個值,將網域指向指定的 IP 位址。
網域供應商可能會將這項條款列為「資料」、「目的地」、「內容」、「位址」或「IP 位址」。
Hosting 會先嘗試驗證 ACME 挑戰,再向 CA 要求驗證。如果 CA 因任何原因 (例如服務間歇性問題) 無法驗證您的挑戰,Hosting 必須為您產生一組新的挑戰。驗證成功後,Hosting 最多可能需要幾小時才能佈建 SSL 憑證並允許其傳播。
Hosting 建立網域擁有權並佈建 SSL 憑證後,請返回 DNS 供應商,並新增 DNS A/AAAA 記錄,將要求導向 Hosting:
等待 SSL 憑證佈建
驗證網域擁有權後,我們會為您的網域佈建安全資料傳輸層 (SSL) 憑證,並在您將 DNS A 記錄指向 Firebase Hosting 後的 24 小時內,在全球 CDN 中部署該憑證。
您的網域會列為 FirebaseApp SSL 憑證中的其中一個主體別名 (SAN)。您可以使用瀏覽器的安全性工具查看這項憑證。在網域佈建期間,您可能會看到不含網域名稱的無效憑證。這是正常的程序,在網域憑證可用後就會解決。
對於進階設定使用者,您的網站會由先前的代管服務供應商代管,直到專案 Firebase Hosting 頁面的設定狀態更新為「已連線」為止。
您的自訂網域金鑰
新增或編輯 DNS 記錄時,不同網域供應商會要求您在 DNS 管理網站中,針對「Host」欄位輸入不同的內容。以下列出常見的輸入內容,供您參考。如需詳細操作說明,請參閱網域供應商的說明文件。
網域類型 | 自訂網域鍵 |
---|---|
頂層網域 |
常見的輸入內容包括:
|
子網域 | 常見的輸入內容包括:
|
常見的網域供應商
以下列出一些常見的網域提供者,以及各自可能需要的輸入類型。我們會盡可能保持這項資訊的最新狀態,但請參閱您的網域供應商說明文件,瞭解詳細操作說明。
Cloudflare
類型 | 主機 | 值 |
---|---|---|
DNS TXT 記錄輸入內容 | ||
TXT | example.com | Firebase 控制台提供的驗證值 |
DNS A 記錄輸入內容 | ||
A | example.com | 199.36.158.100 |
A | www | 199.36.158.100 |
Google Cloud DNS
類型 | 主機 | 值 |
---|---|---|
DNS TXT 記錄輸入內容 | ||
TXT | example.com | Firebase 控制台提供的驗證值 |
DNS A 記錄輸入內容 | ||
A | example.com | 199.36.158.100 |
A | www | 199.36.158.100 |
NameCheap
類型 | 主機 | 值 |
---|---|---|
DNS TXT 記錄輸入內容 | ||
TXT | @ | Firebase 控制台提供的驗證值 |
DNS A 記錄輸入內容 | ||
A | @ | 199.36.158.100 |
A | www | 199.36.158.100 |
Squarespace
類型 | 主機 | 值 |
---|---|---|
DNS TXT 記錄輸入內容 | ||
TXT | @ | Firebase 控制台提供的驗證值 |
DNS A 記錄輸入內容 | ||
A | @ | 199.36.158.100 |
A | www | 199.36.158.100 |
自訂網域的設定狀態說明
狀態 | 說明 |
---|---|
需要設定 |
您可能需要變更 DNS 記錄的設定。
|
待處理 | 您已正確設定自訂網域,但 Firebase Hosting 尚未佈建 SSL 憑證。 有時,下列問題可能會導致自訂網域的 SSL 憑證無法正常產生:
|
正在建立憑證 | 系統正在為您的網域產生安全資料傳輸層 (SSL) 憑證。 |
已連結 | 您的自訂網域具備正確的 DNS 記錄,且有 SSL 憑證。 |