共用方式為


具有 Azure Static Web Apps 的自訂網域

附註

企業級邊緣靜態網頁應用的自定義網域驗證現在需要使用 TXT 驗證令牌方法 - 新網域不再支援 CNAME 驗證。

根據預設,Azure Static Web Apps 會為您的網站提供自動產生的網域名稱,但您可以將自訂網域指向您的網站。 系統會為自動產生的網域名稱,以及您可能新增的任何自訂網域自動建立免費的 SSL/TLS 憑證。

當您將自訂網域對應至靜態 Web 應用程式時,有幾個可用選項供您選擇,其中包括設定子網域和頂點網域。

下表包含文章的連結,這些文章示範如何設定自訂網域型提供者類型。 1

動作 使用…… 使用……
設定具有 www 子網域的網域 Azure DNS 外部提供者
設定頂點網域 Azure DNS 外部提供者

1 某些註冊機構,例如 GoDaddy 不支援影響您設定頂點網域的網域記錄。 請考慮搭配這些註冊機構使用 Azure DNS 來設定頂點網域。

附註

不支援將自訂網域新增至預覽環境。 也不支援 Unicode 網域,包括 Punycode 網域和 xn-- 前置詞。

關於網域

設定頂點網域是設定網域名稱後常見的設定案例。 您可以藉由設定 ALIASANAME 記錄,或透過 CNAME 壓平合併來建立頂點網域。 部分網域註冊機構,例如 GoDaddy 和 Squarespace (舊稱為 Google) 不支援這些 DNS 記錄。 如果您的註冊機構不支援您需要的所有 DNS 記錄,請考慮使用 Azure DNS 來設定網域

或者,對於不支援 ALIAS 記錄、ANAME 記錄或 CNAME 壓平合併的網域註冊機構,您可以為靜態 Web 應用程式設定 A 記錄。 此設定會將流量導向至靜態 Web 應用程式的單一區域主機。 不建議使用 A 記錄,因為您的應用程式不再受益於全域散發,而且如果您的流量是全域散發,這種類型的設定可能會影響應用程式效能。

附註

CNAME 記錄會將網域名稱 (或子網域) 對應到另一個網域,而 A 記錄會將網域名稱對應至 IP 位址。 與 A 記錄不同,如果 IP 位址變更,CNAME 項目仍然有效。 假設您有 WebApp1,而且您希望使用者從 https://www.contoso.com存取。 您可以透過兩種方式執行此動作:您可以建立 CNAME 記錄,將其對應至 WebApp1.azurestaticapps.net。 或者,您可以建立 A 記錄,並將其對應至 WebApp1 的 IP 位址。

以下是您在設定自訂網域時可能遇到的詞彙。

  • 頂點或根網域:假設為網域 www.example.comwww 前置詞稱為子網域,而其餘的 example.com 區段稱為頂點網域。

  • 網域註冊機構:註冊機構會驗證網域的可用性,並銷售購買網域名稱的權限。

  • DNS 區域:網域名稱系統 (DNS) 區域,可裝載與特定網域相關聯的 DNS 記錄。 有各種可用的記錄,並會針對不同的目的引導流量。 例如,網域 example.com 可能包含數筆 DNS 記錄。 一筆記錄處理 mail.example.com (適用於郵件伺服器) 和另一個 www.example.com (適用於網站) 的流量。

  • DNS 裝載:DNS 主機可維護將網域名稱解析為特定 IP 位址的 DNS 伺服器。

  • 名稱伺服器:名稱伺服器負責儲存網域的 DNS 記錄。

若要讓自訂網域驗證與靜態 Web 應用程式搭配使用,DNS 必須可公開解析。 若要讓自動憑證更新正常執行,自訂網域必須透過公用網際網路解析為靜態 Web 應用程式。 即使您啟用私人端點,也支援自動憑證更新。 Static Web Apps 的私人端點目的是封鎖網站內容的網際網路存取,但不會封鎖網站的網際網路 DNS 解析。

零停機時間移轉

建議您將目前為生產網站提供服務的自訂網域移轉至靜態 Web 應用程式,而不需要停機。 DNS 提供者不接受相同名稱和主機的多筆記錄,因此您可以個別驗證網域的擁有權,並將流量路由至您的 Web 應用程式。

  1. 在 Azure 入口網站中開啟靜態您的 Web 應用程式

  2. 為您的自訂網域 (APEX 或子網域) 新增 TXT 記錄。 不要輸入顯示的「主機」值,而是在 DNS 提供者中輸入「主機」 ,如下所示:

    • 針對 APEX 網域,輸入 _dnsauth.www.<YOUR-DOMAIN.COM>
    • 針對子網域,輸入 _dnsauth.<SUBDOMAIN>.<YOUR-DOMAIN.COM>
  3. 驗證網域之後,您就可以藉由更新 CNAMEALIASA 記錄,指向您的預設主機名稱,以將流量移轉至靜態 Web 應用程式

實例間域遷移

Azure 靜態 Web Apps 僅允許將獨特網域綁定到切片內的單一資源。 嘗試繫結已繫結到另一個資源的網域,卻未先與原始資源解除關聯,將導致動作失敗。

你可以透過檢查分配給它的預設 URL 來判定資源所在的切片:

<random-prefix>.<slice>.azurestaticapps.net

例如,一個預設 URL 為 的 orange-pond-0a04b7203.2.azurestaticapps.net 靜態 Web App 網站被放置在第 2 切片中。

如果你要移轉網域的靜態應用程式,並且移轉的來源和目標都在相同配量內,則必須:

  • 先從一個實例移除該網域,然後再加到你的新實例。 這會導致短暫的停機時間。
  • 刪除並重新部署新實例,直到所得資源被放入與來源實例不同的切片。

後續步驟

使用下列連結,取得如何根據提供者設定網域的步驟。