將現有的自訂 DNS 名稱對應至 Azure App Service
注意
從 2024 年 6 月 1 日起,所有新建立的 App Service 應用程式都可以選擇使用命名慣例 <app-name>-<random-hash>.<region>.azurewebsites.net
來產生唯一的預設主機名稱。 現有的應用程式名稱將保持不變。
範例: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
如需詳細資料,請參閱 App Service 資源的唯一預設主機名稱。
Azure App Service 提供可高度調整且自我修補的虛擬主機服務。 本指南說明如何將現有的自訂網域名稱系統 (DNS) 名稱對應至 App Service。 若要將即時網站及其 DNS 網域名稱遷移至 App Service 而不要停機,請參閱將作用中的 DNS 名稱遷移至 Azure App Service。
您需要向網域提供者新增的 DNS 記錄類型,取決於您要新增至 App Service 的網域。
案例 | 範例 | 建議的 DNS 記錄 |
---|---|---|
根網域 | contoso.com | A 記錄。 請不要將 CNAME 記錄用於根記錄。 (如需資訊,請參閱 RFC 1912 第 2.4 節。) |
子網域 | www.contoso.com、my.contoso.com | CNAME 記錄。 您可以使用 A 記錄直接將子網域對應至應用程式的 IP 位址,但有可能 IP 位址變更。 CNAME 則是對應至應用程式的預設主機名稱,這較不會變更。 |
萬用字元 | *.contoso.com | CNAME 記錄。 |
注意
如需示範如何設定 www
子網域和受控憑證的端對端教學課程,請參閱教學課程:使用自訂網域和受控憑證保護您的 Azure App Service 應用程式。
必要條件
- 建立 App Service 應用程式,或使用您針對另一個教學課程建立的應用程式。 Web 應用程式的 App Service 方案必須是付費層,而不是免費 (F1) 層。 請參閱擴大應用程式以更新階層。
- 請確定您可以編輯自訂網域的 DNS 記錄。 若要編輯 DNS 記錄,您需要存取網域提供者 (例如 GoDaddy) 的 DNS 登錄。 例如,若要為
contoso.com
和www.contoso.com
新增 DNS 項目,您必須有權設定contoso.com
根網域的 DNS 設定。 您的自訂網域必須位於公用 DNS 區域中;不支援私人 DNS 區域。 - 如果尚無自訂網域,您可以改為購買App Service 網域。
設定自訂網域
在 Azure 入口網站中,導覽至您應用程式的管理頁面。
在應用程式頁面的左側功能表中,選取 [自訂網域]。
選取 [新增自訂網域]。
針對 [網域提供者],選取 [所有其他網域服務] 以設定第三方網域。
注意
若要設定 App Service 網域,請參閱針對 Azure App Service 購買自訂網域名稱。
針對 [TLS/SSL 憑證],如果您的應用程式位於基本層或更高層級,請選取 [App Service 受控憑證]。 如果您想要保留在共用層,或如果您想要使用自己的憑證,請選取 [稍後新增憑證]。
針對 TLS/SSL 類型,選取您想要的繫結類型。
設定 描述 自訂網域 要新增 TLS/SSL 繫結的網域名稱。 私人憑證指紋 要繫結的憑證。 TLS/SSL 類型 - SNI SSL:可新增多個 SNI SSL 繫結。 此選項可允許多個 TLS/SSL 憑證保護同一個 IP 位址上的多個網域。 現今大部分的瀏覽器 (包括 Internet Explorer、Chrome、Firefox 和 Opera) 都支援 SNI (如需詳細資訊,請參閱伺服器名稱指示)。
- IP SSL:只能新增一個 IP SSL 繫結。 此選項只允許一個 TLS/SSL 憑證保護專用的公用 IP 位址。 設定繫結之後,請依照為 IP 型 SSL 重新對應記錄中的步驟執行。
只有標準層或更高的層級才支援 IP SSL。針對 [網域],根據您擁有的網域指定您想要的完整網域名稱。 [主機名稱記錄類型] 方塊預設為要使用的建議 DNS 記錄,取決於網域為根網域 (例如
contoso.com
)、子網域 (例如www.contoso.com
) 還是萬用字元網域 (*.contoso.com
)。還不要選取 [驗證]。
針對 App Service 中的每個自訂網域,您需要向網域提供者取得兩個 DNS 記錄。 [網域驗證] 區段會顯示您必須向網域提供者新增的兩個 DNS 記錄。 您可以使用 [複製] 按鈕,來複製下一節中所需的一個或多個值。
下列螢幕擷取畫面顯示
www.contoso.com
網域的預設選取項目。 其會顯示要新增的 CNAME 記錄和 TXT 記錄。警告
雖然新增 TXT 記錄並非絕對必要,但強烈建議這麼做,以獲得安全性。 TXT 記錄是網域驗證識別碼,可協助避免從其他 App Service 應用程式接管子網域。 針對您先前設定而沒有此驗證識別碼的自訂網域,您應將驗證識別碼 (TXT 記錄) 新增至 DNS 設定,以防止網域承受相同的風險。 如需有關此常見高嚴重性威脅的詳細資訊,請參閱子網域接管。
建立 DNS 記錄
登入網域提供者的網站。
您可以使用 Azure DNS 來管理網域的 DNS 記錄,並為 Azure App Service 設定自訂 DNS 名稱。 如需詳細資訊,請參閱教學課程:在 Azure DNS 中裝載您的網域。
尋找管理 DNS 記錄的頁面。
每個網域提供者有自己的 DNS 記錄介面,請查閱您的提供者文件。 在網站中尋找標示為 [網域名稱]、[DNS] 或 [名稱伺服器管理] 的區域。
通常可透過檢視您的帳戶資訊,然後尋找 [我的網域] 之類的連結,來找到 DNS 記錄分頁。 移至該分頁,然後尋找名為區域檔案、DNS 記錄或進階設定之類的連結。
下列螢幕擷取畫面是 DNS 記錄頁面的範例:
選取 [新增] 或適當的小工具以建立記錄。
注意
對於某些提供者 (例如 GoDaddy),您必須選取另外的 [儲存變更] 連結,才會讓 DNS 記錄的變更生效。
選取要建立的記錄類型,並遵循指示。 您可以使用 CNAME 記錄或 A 記錄將自訂 DNS 名稱對應至 App Service。 當您的函數應用程式裝載於取用方案時,僅支援 CNAME 選項。
請建立兩筆記錄,如下表所述:
記錄類型 | Host | 值 | 註解 |
---|---|---|---|
A | @ |
應用程式 IP 位址顯示在 [新增自訂網域] 對話框中。 | 對應本身的網域。 (@ 通常代表根網域。) |
TXT | asuid |
[新增自訂網域] 對話框中顯示的網域驗證識別碼。 | 對於根網域,App Service 會存取 asuid TXT 記錄,來驗證您對自訂網域的擁有權。 |
驗證網域擁有權並完成對應
回到 Azure 入口網站中的 [新增自訂網域] 對話框,選取 [驗證]。
如果 [網域驗證] 區段在這兩筆網域記錄旁顯示綠色核取記號,則您已正確設定這些記錄。 選取 [新增]。 如果您看到任何錯誤或警告,請在網域提供者網站上的 DNS 記錄集中將其解決。
注意
如果您已設定 TXT 記錄,但未設定 A 或 CNAME 記錄,則 App Service 會將變更視為網域移轉案例,並允許驗證成功,但您將不會在記錄旁看到綠色核取記號。
您應該會看到新增至清單的自訂網域。 您可能也會看到紅色 X 和文字 [沒有繫結]。
如果您稍早選取 [App Service 受控憑證],請稍候幾分鐘,讓 App Service 為自訂網域建立受控憑證。 當流程完成時,紅色 X 會變成綠色核取記號,而且您會看到 [安全] 一詞。 如果您選取 [稍後新增憑證],則在新增網域的私人憑證與設定繫結前,紅色 X 都會存在。
注意
除非您為自訂網域設定憑證繫結,任何從瀏覽器到網域的 HTTPS 要求都會收到錯誤或警告 (視瀏覽器而定)。
測試 DNS 解析
瀏覽至您所設定的 DNS 名稱。
瀏覽至自訂網域的 URL 時,如果您收到 HTTP 404 (找不到) 錯誤,最可能的原因是:
- 瀏覽器用戶端已將網域的舊 IP 位址加入快取。 請清除快取,然後重新測試 DNS 解析。 在 Windows 電腦上,您可以使用
ipconfig /flushdns
清除快取。 - 您已設定 IP 型憑證繫結,且應用程式的 IP 位址已因為其而變更。 將 DNS 項目中的 A 記錄重新對應至新的 IP 位址。
如果您收到 Page not secure
警告或錯誤,這是因為您的網域還沒有憑證繫結。 新增網域的私人憑證及設定繫結。
(選用) 透過指令碼來自動化
您可以使用 Azure CLI 或 Azure PowerShell,透過指令碼將自訂網域的管理作業自動化。
下列命令會在 App Service 應用程式中新增所設定的自訂 DNS 名稱。
az webapp config hostname add \
--webapp-name <app-name> \
--resource-group <resource_group_name> \
--hostname <fully_qualified_domain_name>
如需詳細資訊,請參閱將自訂網域對應至 Web 應用程式。