问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

将现有的自定义DNS名称映射到Azure应用服务

创作时间:
作者:
@小白创作中心

将现有的自定义DNS名称映射到Azure应用服务

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/azure/app-service/app-service-web-tutorial-custom-domain

本文将详细介绍如何将现有的自定义DNS名称映射到Azure应用服务。通过本文,你将学习到如何配置DNS记录、验证域所有权以及使用脚本自动化管理自定义域。

Azure应用服务提供高度可缩放、自修复的Web托管服务。本指南介绍如何将现有的自定义域名系统(DNS)名称映射到应用服务。若要将实时站点及其DNS域名迁移到应用服务而不停机,请参阅将活动DNS名称迁移到Azure应用服务

需要向域提供商添加的DNS记录类型取决于要添加到应用服务的域。

方案
示例
建议的DNS记录
根域
contoso.com
A记录。不要将CNAME记录用于根记录。(有关信息,请参阅RFC 1912第2.4部分。)
子域
www.contoso.com, my.contoso.com
CNAME记录。可使用A记录直接将子域映射到应用的IP地址,但IP地址可能会更改。CNAME改为映射到应用的默认主机名,该主机名不易更改。
通配符
*.contoso.com
CNAME记录。

先决条件

配置自定义域

  1. 在Azure门户中,导航到应用的管理页。
  2. 在应用的左侧菜单中,选择"自定义域"。
  3. 选择"添加自定义域"。
  4. 对于"域提供程序",请选择"所有其他域服务"以配置第三方域。
  5. 对于"TLS/SSL证书",如果应用位于基本层或更高层,请选择"应用服务托管证书"。如果你要继续使用"共享"层,或者想要使用自己的证书,请选择"稍后添加证书"。
  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地址。配置绑定后,请按照重新映射基于IP的SSL的记录中的步骤进行操作。IP SSL仅在"标准"层或更高层中受支持。
  1. 对于"域",请根据你拥有的域指定所需的完全限定的域名。"主机名记录类型"框默认为建议使用的DNS记录,具体取决于该域是根域(如contoso.com)、子域(如www.contoso.com)还是通配符域(如*.contoso.com)。
  2. 暂时不选择"验证"。
  3. 对于应用服务中的每个自定义域,需要向域提供商提供两条DNS记录。"域验证"部分显示必须通过域提供商添加的两条DNS记录。可以使用复制按钮复制下一部分所需的值。

以下屏幕截图显示了www.contoso.com域的默认选项。其中显示了要添加的CNAME记录和TXT记录。

警告:虽然不是绝对需要添加TXT记录,但出于安全原因,强烈建议这样做。TXT记录是域验证ID,可帮助避免其他应用服务应用接管子域。对于先前配置的没有此验证ID的自定义域,应将验证ID(TXT记录)添加到DNS配置中,以防止这些域面临相同的风险。有关此常见高严重性威胁的详细信息,请参阅子域接管

创建DNS记录

  1. 请登录到域提供商的网站。
  2. 查找管理DNS记录的页面。
  3. 选择"添加"或相应的小组件来创建记录。

注意:对于某些提供商(例如GoDaddy),在你选择单独的"保存更改"链接之前,这些DNS记录不会生效。

选择要创建的记录的类型,然后按照说明进行操作。可以使用CNAME记录或A记录将自定义DNS名称映射到应用服务。当函数应用托管在消耗计划中时,仅支持CNAME选项。

如下表所述创建两条记录:

记录类型
主机
注释
A
@
"添加自定义域"对话框中显示的应用的IP地址。
域映射本身。(@通常代表根域。)
TXT
asuid
"添加自定义域"对话框中显示的域验证ID。
对于根域,应用服务访问asuidTXT记录以验证你对自定义域的所有权。

使用A记录

如下表所述创建两条记录:

记录类型
主机
注释
A
(例如www)
"添加自定义域"对话框中显示的IP地址。
域映射本身。
TXT
asuid.(例如asuid.www)
"添加自定义域"对话框中显示的域验证ID。
应用服务访问asuid.TXT记录以验证你对自定义域的所有权。

使用CNAME记录

如下表所述创建两条记录:

记录类型
主机
注释
CNAME
(例如www)
.azurewebsites.net。
域映射本身。
TXT
asuid.(例如asuid.www)
"添加自定义域"对话框中显示的域验证ID。
应用服务访问asuid.TXT记录以验证你对自定义域的所有权。

对于通配符名称(例如*.contoso.com中的*),请如下表中所述创建两条记录:

记录类型
主机
注释
CNAME
*
.azurewebsites.net。
域映射本身。
TXT
asuid
"添加自定义域"对话框中显示的域验证ID。
应用服务访问asuidTXT记录以验证你对自定义域的所有权。

验证域所有权并完成映射

  1. 返回Azure门户中的"添加自定义域"对话框,选择"验证"。
  2. 如果"域验证"部分在两条域记录的旁边显示了绿色对勾标记,则表明你已正确配置它们。选择"添加"。如果看到任何错误或警告,请在域提供商网站上的DNS记录设置中解决相关问题。

注意:如果你配置了TXT记录,但未配置A或CNAME记录,则应用服务会将更改视为域迁移方案并允许验证成功,但记录旁边不会显示绿色对勾标记。

你应该能看到该自定义域已添加到列表中。你还可能会看到红色的X和文本"无绑定"。

如果之前选择了"应用服务托管证书",请等待几分钟,应用服务会为你的自定义域创建托管证书。该过程完成后,红色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通过脚本自动管理自定义域。

Azure CLI

以下命令将配置的自定义DNS名称添加到应用服务应用。

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

有关详细信息,请参阅将自定义域映射到Web应用

PowerShell

以下命令将配置的自定义DNS名称添加到应用服务应用。

Set-AzWebApp `
    -Name <app-name> `
    -ResourceGroupName <resource_group_name> ` 
    -HostNames @("<fully_qualified_domain_name>","<app-name>.azurewebsites.net")

有关详细信息,请参阅将自定义域分配到Web应用

后续步骤

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号