將現有的自訂 DNS 名稱對應至 Azure App Service

Azure App Service 提供可高度調整且自我修補的虛擬主機服務。 本指南說明如何將現有的自訂網域名稱系統 (DNS) 名稱對應至 App Service。 若要將即時網站及其 DNS 網域名稱遷移至 App Service 而不造成停機,請參閱將作用中的 DNS 名稱遷移至 Azure

您需要向網域提供者新增的 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.comwww.contoso.com 新增 DNS 項目,您必須有權設定 contoso.com 根網域的 DNS 設定。 您的自訂網域必須位於公用 DNS 區域中;不支援私人 DNS 區域。
  • 如果尚無自訂網域,您可以改為購買App Service 網域

1.設定自訂網域

  1. Azure 入口網站中,導覽至您應用程式的管理頁面。

  2. 在應用程式頁面的左側功能表中,選取 [自訂網域]

  3. 選取 [新增自訂網域]

    A screenshot showing how to open the Add custom domain dialog.

  4. 針對 [網域提供者],選取 [所有其他網域服務] 以設定第三方網域。

    注意

    若要設定 App Service 網域,請參閱針對 Azure App Service 購買自訂網域名稱

  5. 針對 TLS/SSL 憑證,如果應用程式位於 [基本] 層或更高層級,請選取 [App Service 受控憑證]。 如果您想要保留在 [共用] 層,或如果您想要使用自己的憑證,請選取 [稍後新增憑證]

  6. 針對 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 位址。 設定繫結之後,請依照 2.為 IP 型 SSL 重新對應記錄中的步驟執行。
    只有標準層或更高的層級才支援 IP SSL。
  7. 針對 [網域],根據您擁有的網域指定您所需的完整網域名稱。 [主機名記錄類型] 方塊預設為要使用的建議 DNS 記錄,視網域是否為根網域 (例如 contoso.com)、子網域 (例如 www.contoso.com 或萬用字元網域 *.contoso.com) 而定。

  8. 尚未選取 [驗證]

  9. 針對 App Service 中的每個自訂網域,您需要向網域提供者取得兩個 DNS 記錄。 [網域驗證] 區段會顯示您必須向網域提供者新增的兩個 DNS 記錄。 選取個別的 [複製] 按鈕,以協助您進行下一個步驟。

    下列螢幕擷取畫面顯示 www.contoso.com 網域的預設選取項目,其中顯示要新增的 CNAME 記錄和 TXT 記錄。

    A screenshot showing how to configure a new custom domain, along with a managed certificate.

    警告

    雖然新增 TXT 記錄並非絕對必要,但強烈建議這麼做,以獲得安全性。 TXT 記錄是網域驗證識別碼,可協助避免從其他 App Service 應用程式接管子網域。 針對您先前設定而沒有此驗證識別碼的自訂網域,您應將驗證識別碼 (TXT 記錄) 新增至 DNS 設定,以防止網域承受相同的風險。 如需有關此常見高嚴重性威脅的詳細資訊,請參閱子網域接管

2.建立 DNS 記錄

  1. 登入網域提供者的網站。

    您可以使用 Azure DNS 來管理網域的 DNS 記錄,並為 Azure App Service 設定自訂 DNS 名稱。 如需詳細資訊,請參閱教學課程:在 Azure DNS 中裝載您的網域

  2. 尋找管理 DNS 記錄的頁面。

    每個網域提供者有自己的 DNS 記錄介面,請查閱您的提供者文件。 在網站中尋找標示為 [網域名稱]、[DNS] 或 [名稱伺服器管理] 的區域。

    通常可透過檢視您的帳戶資訊,然後尋找 [我的網域] 之類的連結,來找到 DNS 記錄分頁。 移至該分頁,然後尋找名為區域檔案DNS 記錄進階設定之類的連結。

    下列螢幕擷取畫面是 DNS 記錄頁面的範例:

    Screenshot that shows an example DNS records page.

  3. 選取 [新增] 或適當的小工具以建立記錄。

注意

對於某些提供者 (例如 GoDaddy),您必須選取另外的 [儲存變更] 連結,才會讓 DNS 記錄的變更生效。

選取要建立的記錄類型,並遵循指示。 您可以使用 CNAME 記錄A 記錄將自訂 DNS 名稱對應至 App Service。 當您的函數應用程式裝載於取用方案時,僅支援 CNAME 選項。

請根據下表建立兩筆記錄:

記錄類型 Host 註解
A @ 應用程式 IP 位址顯示在 [新增自訂網域] 對話框中。 對應本身的網域 (@ 通常代表根網域)。
TXT asuid [新增自訂網域] 對話框中顯示的網域驗證識別碼。 對於根網域,App Service 會存取 asuid TXT 記錄,以驗證您對自訂網域的所有權。

Screenshot that shows a DNS records page.

3.驗證及完成

  1. 回到 Azure 入口網站中的 [新增自訂網域] 對話框,選取 [驗證]

    A screenshot showing how to validate your DNS record settings in the Add a custom domain dialog.

  2. 如果 [網域驗證] 區段旁顯示兩個網域記錄的綠色核取標記,則您已正確設定網域驗證識別碼。 選取 [新增]。 如果您看到任何錯誤或警告,請在網域提供者網站上的 DNS 記錄集中加以修正。

    A screenshot showing the Add button activated after validation.

    注意

    如果您已設定 TXT 記錄,但未設定 A 或 CNAME 記錄,則 App Service 會將其視為網域移轉案例,並允許驗證成功,但您不會在記錄旁看到綠色核取標記。

  3. 您應該會看到新增至清單的自訂網域。 您也可能會看到紅色 X,但標示著沒有繫結

    如果您稍早選取 [App Service 受控憑證],請稍候幾分鐘,讓 App Service 為自訂網域建立受控憑證。 當程序完成時,紅色 X 會變成綠色核取記號,並標有 [安全]。 如果您選取 [稍後新增憑證],則在新增網域的私人憑證,與設定繫結前,此紅色 X 都會存在。

    A screenshot showing the custom domains page with the new secured custom domain.

    注意

    除非您為自訂義網域設定憑證繫結,任何從瀏覽器到網域的 HTTPS 要求都會收到錯誤或警告 (視瀏覽器而定)。

4.在瀏覽器中測試

瀏覽至您稍早設定的 DNS 名稱。

Screenshot that shows navigation to an Azure app.

瀏覽至自訂網域的 URL 時,如果收到 HTTP 404 (找不到) 錯誤,最可能的原因是:

  • 瀏覽器用戶端已將網域的舊 IP 位址加入快取。 請清除快取,然後再次測試 DNS 解析。 在 Windows 電腦上,您可以使用 ipconfig /flushdns 清除快取。
  • 您已設定 IP 型憑證繫結,且應用程式的 IP 位址已因為其而變更。 將 DNS 項目中的 A 記錄重新對應至新的 IP 位址。

如果您收到 Page not secure 警告或錯誤,這是因為您的網域還沒有憑證繫結。 新增網域的私人憑證設定繫結

(選用) 透過指令碼來自動化

您可以使用 Azure CLIAzure PowerShell,透過指令碼將自訂網域的管理作業自動化。

下列命令會在 App Service 應用程式中新增所設定的自訂 DNS 名稱。

az webapp config hostname add \
    --webapp-name <app-name> \
    --resource-group <resource_group_name> \
    --hostname <fully_qualified_domain_name>

如需詳細資訊,請參閱將自訂網域對應至 Web 應用程式

下一步