附註
企業級邊緣靜態網頁應用的自定義網域驗證現在需要使用 TXT 驗證令牌方法 - 新網域不再支援 CNAME 驗證。
根據預設,Azure Static Web Apps 會為您的網站提供自動產生的網域名稱,但您可以將自訂網域指向您的網站。 系統會為自動產生的網域名稱,以及您可能新增的任何自訂網域自動建立免費的 SSL/TLS 憑證。
當您將自訂網域對應至靜態 Web 應用程式時,有幾個可用選項供您選擇,其中包括設定子網域和頂點網域。
下表包含文章的連結,這些文章示範如何設定自訂網域型提供者類型。 1
| 動作 | 使用…… | 使用…… |
|---|---|---|
設定具有 www 子網域的網域 |
Azure DNS | 外部提供者 |
| 設定頂點網域 | Azure DNS | 外部提供者 |
1 某些註冊機構,例如 GoDaddy 不支援影響您設定頂點網域的網域記錄。 請考慮搭配這些註冊機構使用 Azure DNS 來設定頂點網域。
附註
不支援將自訂網域新增至預覽環境。 也不支援 Unicode 網域,包括 Punycode 網域和 xn-- 前置詞。
關於網域
設定頂點網域是設定網域名稱後常見的設定案例。 您可以藉由設定 ALIAS 或 ANAME 記錄,或透過 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.com,www前置詞稱為子網域,而其餘的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 應用程式。
在 Azure 入口網站中開啟靜態您的 Web 應用程式
為您的自訂網域 (APEX 或子網域) 新增 TXT 記錄。 不要輸入顯示的「主機」值,而是在 DNS 提供者中輸入「主機」 ,如下所示:
- 針對 APEX 網域,輸入
_dnsauth.www.<YOUR-DOMAIN.COM>。 - 針對子網域,輸入
_dnsauth.<SUBDOMAIN>.<YOUR-DOMAIN.COM>。
- 針對 APEX 網域,輸入
驗證網域之後,您就可以藉由更新
CNAME、ALIAS或A記錄,指向您的預設主機名稱,以將流量移轉至靜態 Web 應用程式
實例間域遷移
Azure 靜態 Web Apps 僅允許將獨特網域綁定到切片內的單一資源。 嘗試繫結已繫結到另一個資源的網域,卻未先與原始資源解除關聯,將導致動作失敗。
你可以透過檢查分配給它的預設 URL 來判定資源所在的切片:
<random-prefix>.<slice>.azurestaticapps.net
例如,一個預設 URL 為 的 orange-pond-0a04b7203.2.azurestaticapps.net 靜態 Web App 網站被放置在第 2 切片中。
如果你要移轉網域的靜態應用程式,並且移轉的來源和目標都在相同配量內,則必須:
- 先從一個實例移除該網域,然後再加到你的新實例。 這會導致短暫的停機時間。
- 刪除並重新部署新實例,直到所得資源被放入與來源實例不同的切片。
後續步驟
使用下列連結,取得如何根據提供者設定網域的步驟。