將作用中的 DNS 名稱移轉至 Azure App Service

本文示範如何在完全不停機的情況下,將作用中的 DNS 名稱移轉至 Azure App Service

當您將即時網站及其 DNS 網域名稱移轉至 App Service 時,該 DNS 名稱已對即時流量提供服務。 您可以先將作用中的 DNS 名稱繫結至 App Service 應用程式,以避免 DNS 解析在移轉期間發生停機。

如果您不擔心 DNS 解析發生停機,請參閱將現有的自訂 DNS 名稱對應至 Azure App Service

必要條件

若要完成此步驟,請確定 App Service 應用程式不在免費層中

1.取得網域驗證識別碼

當您事先繫結自訂網域時,必須先完成下列兩項之後,才能對現有 DNS 記錄進行任何變更︰

  • 使用網域提供者新增網域驗證識別碼,以驗證網域擁有權。
  • 在 App Service 應用程式中啟用網域名稱。

當您最後將自訂 DNS 名稱從舊網站移轉至 App Service 應用程式時,DNS 解析不會發生停機。

  1. Azure 入口網站中,開啟 App Service 應用程式的管理頁面。

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

  3. 在後續步驟的 [自訂網域] 頁面中,複製 [自訂網域驗證識別碼] 方塊中的識別碼。

    Screenshot that shows the ID in the Custom Domain Verification ID box.

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 記錄的變更生效。

新增網域驗證的 TXT 記錄。 TXT 記錄的主機名稱取決於您要對應的 DNS 記錄類型。 請參閱下表 (@ 通常代表根網域):

DNS 記錄範例 TXT 主機 TXT 值
@ (根網域) asuid [自訂網域] 管理頁面中顯示的網域驗證識別碼。
www (子網域) asuid.www [自訂網域] 管理頁面中顯示的網域驗證識別碼。
* (萬用字元) asuid [自訂網域] 管理頁面中顯示的網域驗證識別碼。

注意

萬用字元 * 記錄不會使用現有 CNAME 記錄驗證子網域。 您可能需要為每個子網域明確地建立 TXT 記錄。

3.為您的應用程式啟用網域

  1. 回到 [自訂網域] 頁面中,選取 [新增自訂網域]

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

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

  3. 針對 TLS/SSL 憑證,選取 [稍後新增憑證]。 完成網域移轉之後,您可以新增 App Service 受控憑證。

  4. 針對 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。
  5. 輸入您想要移轉的完整網域名稱,這會對應至您所建立的 TXT 記錄,例如 contoso.comwww.contoso.com*.contoso.com

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

  6. 選取驗證。 雖然對話方塊會顯示自訂網域在應用程式中運作所需的兩筆記錄,但驗證只會傳遞網域驗證識別碼 (TXT 記錄)。

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

  7. 如果 [網域驗證] 區段顯示綠色核取標記,則您已正確設定網域驗證識別碼。 選取 [新增]。 如果顯示任何紅色 X,請修正網域提供者網站中的任何錯誤。

    A screenshot showing the Add button activated after validation.

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

    由於選取 [稍後新增憑證],您會看到紅色 X,並標記 [沒有繫結]。 在新增網域的私人憑證設定繫結前,此紅色 X 都會存在。

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

    注意

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

4.重新對應作用中的 DNS 名稱

唯一剩下的工作是重新對應作用中的 DNS 記錄,以指向 App Service。 目前,它仍指向舊網站。

  1. (僅限 A 記錄) 您需要 App Service 應用程式的外部 IP 位址。 在 [自訂網域] 頁面中,複製應用程式的 IP 位址。

    A screenshot showing how to copy the App Service app's external IP address.

  2. 回到您網域提供者的 DNS 記錄頁面,選取要重新對應的 DNS 記錄。

  3. 如下表中的範例所示,重新對應 A 或 CNAME 記錄:

    FQDN 範例 記錄類型 Host
    contoso.com (根網域) A @ 來自複製應用程式的 IP 位址的 IP 位址
    www.contoso.com (子網域) CNAME www <app-name>.azurewebsites.net
    *.contoso.com (萬用字元) CNAME * <app-name>.azurewebsites.net
  4. 儲存您的設定。

DNS 查詢應該會在 DNS 散佈發生後立即開始解析為 App Service 應用程式。

常見問題集

移轉即時網域時,是否可以新增 App Service 受控憑證?

您可以將 App Service 受控憑證新增至已移轉的即時網域,但只有在重新對應作用中的 DNS 名稱之後,才能這麼做。 若要新增 App Service 受控憑證,請參閱建立免費受控憑證

我如何從另一個應用程式移轉網域?

您可以在 Azure 中、在訂用帳戶之間或在相同訂用帳戶內遷移作用中的自訂網域。 不過,這類不需要停機的移轉會需要來源應用程式及目標應用程式在特定時間獲派相同的自訂網域。 因此,您必須確定兩個應用程式並未部署至相同的部署單位 (內部稱為 Webspace)。 網域名稱只能指派給每個部署單位中的一個應用程式。

查看 FTP/S URL <deployment-unit>.ftp.azurewebsites.windows.net 的網域名稱,即可找到應用程式的部署單位。 檢查並確定來源應用程式與目標應用程式之間的部署單位不同。 應用程式的部署單位取決於其所在的 App Service 方案。 這會在您建立方案時由 Azure 隨機選取,且無法變更。 當您在相同的資源群組相同的區域中建立兩個應用程式時,Azure 會將應用程式放在相同的部署單元中。 但我們沒有辦法確保相反的情況是正確的。 換句話說,在不同的部署單位中建立方案的唯一方法是,在新的資源群組或區域中持續建立方案,直到您取得不同的部署單位為止。

下一步

了解如何將自訂 TLS/SSL 憑證繫結至 App Service。