分享方式:


教學課程:在自訂網域中建立 Web 應用程式的 DNS 記錄

您可以設定 Azure DNS 來裝載 Web 應用程式的自訂網域。 例如,您可以建立一個 Azure Web 應用程式,讓使用者使用 www.contoso.comcontoso.com 作為完整網域名稱 (FQDN) 存取該應用程式。

若要這樣做,您必須建立三筆記錄︰

  • 指向 contoso.com 的根 "A" 記錄
  • 要進行驗證的根 "TXT" 記錄
  • 指向 A 記錄之 www 名稱的 "CNAME" 記錄

在本教學課程中,您會了解如何:

  • 建立自訂網域的 A 記錄和 TXT 記錄
  • 建立自訂網域的 CNAME 記錄
  • 測試新記錄
  • 將自訂主機名稱新增至 Web 應用程式
  • 測試自訂主機名稱

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

必要條件

  • 具有有效訂用帳戶的 Azure 帳戶。

  • 您可以在 Azure DNS 中裝載的網域名稱。 您必須擁有此網域的完整控制權。 完整控制權包括為網域設定名稱伺服器 (NS) 記錄的能力。

  • Web 應用程式。 如果您沒有的話,可以為本教學課程建立靜態 HTML Web 應用程式

  • 登錄器中具有委派至 Azure DNS 的 Azure DNS 區域。 如果您沒有的話,您可以建立 DNS 區域,然後將網域委派給 Azure DNS。

注意

在本教學課程中,contoso.com 會作為範例網域名稱使用。 將 contoso.com 取代為您自己的網域名稱。

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 Enter 鍵執行程式碼或命令。

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱 安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

登入 Azure

登入 Azure 入口網站

建立 A 記錄

A 記錄可用來將名稱對應到其 IP 位址。 在下列範例中,我們會使用您的 Web 應用程式 IPv4 位址將 「@」指派為 A 記錄。 @ 通常代表根網域。

取得 IPV4 位址

在 Azure 入口網站中,從 [App Services] 頁面的左側導覽列中選取 [自訂網域],然後複製 Web 應用程式的 IP 位址:

Azure App 服務 自定義網域頁面的螢幕快照,其中顯示Web應用程式IP位址。

建立記錄

若要建立 A 記錄,請使用:

New-AzDnsRecordSet -Name "@" -RecordType "A" -ZoneName "contoso.com" `
 -ResourceGroupName "MyAzureResourceGroup" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -IPv4Address "<ip of web app service>")

重要

如果 Web 應用程式的基礎 IP 位址變更,則必須手動更新 A 記錄。

建立 TXT 記錄

應用程式服務只會在設定時使用此記錄,以確認您擁有自訂網域。 系統驗證您的自訂網域並在 App Service 中設定之後,您就可以刪除此 TXT 記錄。

注意

如果您想要確認網域名稱,但不要將生產流量路由傳送至 Web 應用程式,則只需針對驗證步驟指定 TXT 記錄。 除了 TXT 記錄,驗證不需要 A 或 CNAME 記錄。

若要建立 TXT 記錄,請使用:

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName MyAzureResourceGroup `
 -Name "@" -RecordType "txt" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -Value  "contoso.azurewebsites.net")

建立 CNAME 記錄

如果您的網域已受 Azure DNS 管理 (請參閱 DNS 網域委派),您可以使用下列範例,建立 contoso.azurewebsites.net 的 CNAME 記錄。 此範例中建立的 CNAME 在名為 "contoso.com" 的 DNS 區域中有 600 秒的「存留期」,其 Web 應用程式的別名為 contoso.azurewebsites.net。

New-AzDnsRecordSet -ZoneName contoso.com -ResourceGroupName "MyAzureResourceGroup" `
 -Name "www" -RecordType "CNAME" -Ttl 600 `
 -DnsRecords (New-AzDnsRecordConfig -cname "contoso.azurewebsites.net")

以下是回應範例:

    Name              : www
    ZoneName          : contoso.com
    ResourceGroupName : myazureresourcegroup
    Ttl               : 600
    Etag              : 8baceeb9-4c2c-4608-a22c-229923ee185
    RecordType        : CNAME
    Records           : {contoso.azurewebsites.net}
    Tags              : {}

測試新記錄

如下所示,您可以使用 nslookup 來查詢 "www.contoso.com" 和 "contoso.com",驗證所建立的記錄正確無誤:

PS C:\> nslookup
Default Server:  Default
Address:  192.168.0.1

> www.contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    <instance of web app service>.cloudapp.net
Address:  <ip of web app service>
Aliases:  www.contoso.com
contoso.azurewebsites.net
<instance of web app service>.vip.azurewebsites.windows.net

> contoso.com
Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
Name:    contoso.com
Address:  <ip of web app service>

> set type=txt
> contoso.com

Server:  default server
Address:  192.168.0.1

Non-authoritative answer:
contoso.com text =

        "contoso.azurewebsites.net"

新增自訂主機名稱

現在您可以將自訂主機名稱新增至 Web 應用程式:

set-AzWebApp `
 -Name contoso `
 -ResourceGroupName <your web app resource group> `
 -HostNames @("contoso.com","www.contoso.com","contoso.azurewebsites.net")

測試自訂主機名稱

請開啟網頁瀏覽器,然後瀏覽至 http://www.<your domain name>http://<you domain name>

注意

請確定您納入了 http:// 前置詞,否則瀏覽器可能會嘗試為您預測 URL!

這兩個 URL 應該會導向相同的頁面。 例如:

contoso Azure App 服務 Web 應用程式透過網頁瀏覽器存取的螢幕快照。

清除資源

當資源不再需要時,您可以藉由刪除資源群組 MyAzureResourceGroup,刪除在本教學課程中建立的所有資源:

  1. 在 Azure 入口網站功能表上,選取 [資源群組]
  2. 選取 MyAzureResourceGroup 資源群組。
  3. 在 [概觀] 頁面上,選取 [刪除資源群組]
  4. 輸入 MyAzureResourceGroup,然後選取 [刪除]

下一步

在本教學課程中,您已了解如何在 Web 應用程式的自訂網域中建立 DNS 記錄。 若要了解如何建立別名記錄來參考區域記錄,請繼續進行下一個教學課程: