教學課程:在自訂網域中建立 Web 應用程式的 DNS 記錄
您可以設定 Azure DNS 來裝載 Web 應用程式的自訂網域。 例如,您可以建立一個 Azure Web 應用程式,讓使用者使用 www.contoso.com
或 contoso.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 中。 | ![]() |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | ![]() |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 | ![]() |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 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 位址:
建立記錄
若要建立 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 應該會導向相同的頁面。 例如:
清除資源
當資源不再需要時,您可以藉由刪除資源群組 MyAzureResourceGroup,刪除在本教學課程中建立的所有資源:
- 在 Azure 入口網站功能表上,選取 [資源群組]。
- 選取 MyAzureResourceGroup 資源群組。
- 在 [概觀] 頁面上,選取 [刪除資源群組]。
- 輸入 MyAzureResourceGroup,然後選取 [刪除]。
下一步
在本教學課程中,您已了解如何在 Web 應用程式的自訂網域中建立 DNS 記錄。 若要了解如何建立別名記錄來參考區域記錄,請繼續進行下一個教學課程:
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: