連結自訂網域

您不必放棄使用 Firebase Hosting 的獨特品牌網域名稱。您可以使用自訂網域 (例如 example.comapp.example.com),而非 Firebase 產生的網域,用於 Firebase 託管的網站。

Firebase Hosting 會為每個網域佈建 SSL 憑證,並透過全球 CDN 提供內容。

本文件的後續內容會逐步說明如何連結自訂網域。

Hosting 設定網域

請確認您已完成專案 Firebase Hosting 頁面中的「開始使用」精靈,以便在 Firebase 專案中建立 Firebase Hosting 網站。

步驟 1:新增自訂網域

  1. 在專案的 Hosting 頁面中,輸入連結自訂網域的輔助程式:

    • 如果您只有一個 Hosting 網站,請按一下「新增自訂網域」
    • 如果您有多個 Hosting 網站,請依序按一下所需網站的「查看」和「新增自訂網域」
  2. 輸入要連結至 Hosting 網站的自訂網域名稱。

  3. (選用) 勾選這個方塊,即可將自訂網域上的所有要求重新導向至第二個指定網域 (例如將 example.comwww.example.com 重新導向至相同內容)。

  4. 按一下「繼續」,即可設定 DNS 記錄並完成自訂網域的設定。

步驟 2:設定自訂網域

如果「連結網域」設定精靈要求,請驗證頂層網域。

這些步驟可確保您的網域未與 Firebase 專案連結,且您擁有指定的網域。

  1. 在網域供應商的網站中,找出 DNS 管理頁面。

  2. 使用下列輸入內容新增及儲存新記錄:

    • 類型:新增 TXT 記錄。

      Firebase Hosting 要求您持續在 DNS 設定中保留這個 TXT 記錄,以證明您擁有該網域,並授權 Firebase 為您的網站指派及更新 SSL 憑證。

      網域供應商可能會將這個詞彙列為「記錄類型」。

    • Host:輸入頂層網域金鑰

      證明您是頂層網域 (或根網域) 的擁有者,就等於證明您擁有所有子網域。

      網域供應商可能會將這個字詞列為「主機名稱」、「名稱」或「網域」。

    • :將專屬驗證值複製到欄位中。

      Firebase Hosting 會檢查這個值,證明您擁有網域。

      您的網域供應商可能會將這項條款列為「資料」。

  3. 更新的 TXT 記錄最多需要 24 小時才能完成傳播,請耐心等候,然後點選「驗證」

    請注意,您可以點選「取消」來安全關閉「連結網域」視窗,並在稍後重新開啟。這不會影響更新時間,但重新開啟視窗時,系統會提示您重新輸入網域名稱

    在充分的傳播時間過後,您可以按一下 Firebase 主控台「Connect Domain」視窗中的「Verify」,開始 SSL 憑證佈建程序。

    在大多數情況下,系統會在幾小時內完成記錄的散布作業,並驗證網域,具體時間視網域供應商而定。如需新增 TXT 記錄和設定傳播時間的詳細操作說明,請參閱網域供應商的說明文件。

    如果點選「驗證」後出現錯誤訊息,表示您的記錄尚未套用,或是值可能有誤。

Firebase 控制台的「Add Custom Domain」精靈中,選取「Quick Setup」或「Advanced Setup」

快速設定可用於目前未接收流量的新網域,或是您嘗試從其他 Hosting 網站轉移的網域。如果您已在其他代管服務供應商的服務器上設定網域接收要求,且需要進行零停機遷移,可以使用進階設定

進階設定精靈可協助您建立 SSL 憑證和擁有權聲明,讓 Hosting 在收到流量之前,先在網域上提供流量。

快速設定

  1. Firebase 控制台的「Add Custom Domain」精靈會顯示需要更新的必要記錄,以便將網頁指向 Firebase Hosting。使用下列輸入內容,在 DNS 供應商中新增、移除及儲存網域記錄:
    • 類型:新增提供的 DNS 記錄。
    • 主機:輸入記錄的自訂網域金鑰
    • 您指定的主機是您要用來提供內容的網域,這個網域可以是頂層網域或子網域。

      您的網域供應商可能會將這個字詞列為「主機名稱」、「名稱」或「網域」。

    • :將提供的 IP 位址指派給記錄的值。
    • 網域供應商可能會將這項條件列為「資料」、「指向」、「內容」、「位址」或「IP 位址」。

  2. 請留出時間為 SSL 憑證進行佈建。 將 DNS 指向 Firebase Hosting 後,這項作業最多可能需要 24 小時才能完成。在大多數情況下,記錄會在幾小時內傳播,安全資料傳輸層 (SSL) 憑證也會在幾小時內佈建完成,具體時間取決於網域供應商。

進階設定

您可以透過「Add Custom Domain」精靈的「進階」設定模式,在將流量導向伺服器之前,先設定 Hosting,以便安全地提供網域服務。一般來說,Hosting需要三個條件,才能成功在網域上放送流量:

  • 擁有權記錄:TXT 記錄會告訴 Hosting 在網域上要服務哪個網站
  • SSL 憑證:特定網域的憑證,可在 Hosting 伺服器和使用者之間進行加密通訊
  • 代管 IP 記錄:一或多個 A 和 AAAA 記錄,將網域的所有要求導向 Hosting 伺服器

進階設定會引導您設定網域,讓 Hosting 提前處理前兩項規定,以便在開始接收網域流量前,就能夠提供正確的內容。這個精靈會將這項程序以兩個步驟的工作流程表示:

  1. 準備網域
    • 更新 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 會先嘗試驗證 ACME 挑戰,再向 CA 要求驗證。如果 CA 因任何原因 (例如服務間歇性問題) 無法驗證您的挑戰,Hosting 必須為您產生一組新的挑戰。驗證成功後,Hosting 最多可能需要幾小時才能佈建 SSL 憑證並允許其傳播。

  2. 直接前往 Hosting
  3. Hosting 建立網域擁有權並佈建 SSL 憑證後,請返回 DNS 供應商,並新增 DNS A/AAAA 記錄,將要求導向 Hosting

    • 類型:新增要求的 DNS A/AAAA 記錄。
    • 主機: 請為這兩個記錄輸入自訂網域金鑰。

      您指定的主機是您要放送內容的網域,這個網域可以是頂層網域或子網域。您的網域供應商可能會將這個字詞列為「主機名稱」、「名稱」或「網域」。

    • :為每個 DNS A/AAAA 記錄指派一個值,將網域指向指定的 IP 位址。

      網域供應商可能會將這項條款列為「資料」、「目的地」、「內容」、「位址」或「IP 位址」。

等待 SSL 憑證佈建

驗證網域擁有權後,我們會為您的網域佈建安全資料傳輸層 (SSL) 憑證,並在您將 DNS A 記錄指向 Firebase Hosting 後的 24 小時內,在全球 CDN 中部署該憑證。

您的網域會列為 FirebaseApp SSL 憑證中的其中一個主體別名 (SAN)。您可以使用瀏覽器的安全性工具查看這項憑證。在網域佈建期間,您可能會看到不含網域名稱的無效憑證。這是正常的程序,在網域憑證可用後就會解決。

對於進階設定使用者,您的網站會由先前的代管服務供應商代管,直到專案 Firebase Hosting 頁面設定狀態更新為「已連線」為止。

您的自訂網域金鑰

新增或編輯 DNS 記錄時,不同網域供應商會要求您在 DNS 管理網站中,針對「Host」欄位輸入不同的內容。以下列出常見的輸入內容,供您參考。如需詳細操作說明,請參閱網域供應商的說明文件。

網域類型 自訂網域鍵
頂層網域

常見的輸入內容包括:

  • @
  • 頂層網域名稱 (例如 example.com)
  • 將「Host」欄位留空
子網域

常見的輸入內容包括:

  • 完整子網域名稱 (例如 app.example.com)
  • 僅輸入子網域部分 (例如只輸入 app,而省略 .example.com)
  • 僅限 wwwwww.example.com 的子網域

常見的網域供應商

以下列出一些常見的網域提供者,以及各自可能需要的輸入類型。我們會盡可能保持這項資訊的最新狀態,但請參閱您的網域供應商說明文件,瞭解詳細操作說明。

類型 主機
DNS TXT 記錄輸入內容
TXT example.com Firebase 控制台提供的驗證值
DNS A 記錄輸入內容
A example.com 199.36.158.100
A www 199.36.158.100
類型 主機
DNS TXT 記錄輸入內容
TXT example.com Firebase 控制台提供的驗證值
DNS A 記錄輸入內容
A example.com 199.36.158.100
A www 199.36.158.100
類型 主機
DNS TXT 記錄輸入內容
TXT @ Firebase 控制台提供的驗證值
DNS A 記錄輸入內容
A @ 199.36.158.100
A www 199.36.158.100
類型 主機
DNS TXT 記錄輸入內容
TXT @ Firebase 控制台提供的驗證值
DNS A 記錄輸入內容
A @ 199.36.158.100
A www 199.36.158.100

自訂網域的設定狀態說明

狀態 說明
需要設定

您可能需要變更 DNS 記錄的設定。

  • 在多數情況下,DNS A 記錄並未從網域名稱供應商傳播至 Firebase Hosting 伺服器。
    疑難排解提示:如果已超過 24 小時,請確認您已將記錄指向 Firebase Hosting

  • 在較少見的情況下,尤其是使用進階設定流程時,SSL 驗證可能會失敗,原因如下:

    • SSL 憑證挑戰失敗,因此權杖 (提供給網站的 DNS TXT 記錄或上傳檔案) 現已失效。
      疑難排解提示:按一下該網域的「查看」,然後將新的權杖提供給現有網域。
待處理

您已正確設定自訂網域,但 Firebase Hosting 尚未佈建 SSL 憑證。

有時,下列問題可能會導致自訂網域的 SSL 憑證無法正常產生:

  • CAA 記錄限制過多。
    排解問題提示:請確認憑證授權單位 `letsencrypt.org` 和 `pki.goog` 能否為您的網域建立 SSL 憑證。
  • 驗證碼無效。
    如果您使用的是進階設定流程,且遷移作業失敗,則您的權杖 (及其驗證碼) 現已失效。
    疑難排解提示:按一下網域的「查看」,然後將新的權杖提供給現有網域。
  • 您要求的子網域數量過多。
    疑難排解提示:由於 SSL 憑證鑄造限制,Firebase Hosting 一般建議在一個頂層自訂網域中,最多只能有 20 個子網域。
正在建立憑證

系統正在為您的網域產生安全資料傳輸層 (SSL) 憑證。

已連結

您的自訂網域具備正確的 DNS 記錄,且有 SSL 憑證。
您可以提供網站內容。