你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将根域或 apex 域加入 Azure Front Door
重要
Azure Front Door(经典版)将于 2027 年 3 月 31 日停用。 为了避免任何服务中断,请务必在 2027 年 3 月之前将 Azure Front Door(经典版)配置文件迁移到 Azure Front Door 标准层或高级层。 有关详细信息,请参阅 Azure Front Door(经典版)停用。
Azure Front Door 使用 CNAME 记录来验证加入自定义域的域所有权。 Azure Front Door 不会公开与 Azure Front Door 配置文件关联的前端 IP 地址。 因此,如果你的目的是将顶点域载入到 Azure Front Door,则不能将其映射到 IP 地址。
域名系统 (DNS) 协议会阻止在区域顶点分配 CNAME 记录。 例如,如果你的域为 contoso.com
,则可以为 somelabel.contoso.com
创建 CNAME 记录,但无法为 contoso.com
本身创建 CNAME 记录。 对于在 Azure Front Door 后面具有负载均衡应用程序的应用程序所有者,此限制会带来问题。 由于使用 Azure Front Door 配置文件需要创建 CNAME 记录,因此无法从区域顶点指向 Azure Front Door 配置文件。
可以使用 Azure DNS 中的别名记录解决此问题。 与 CNAME 记录不同,别名记录是在区域顶点创建的。 应用程序所有者可使用别名记录将其区域顶点记录指向具有公共终结点的 Azure Front Door 配置文件。 应用程序所有者可以指向用于其 DNS 区域中任何其他域的相同 Azure Front Door 配置文件。 例如,contoso.com
和 www.contoso.com
可以指向相同的 Azure Front Door 配置文件。
将 apex 域或根域映射到 Azure Front Door 配置文件需要 CNAME 平展或 DNS 跟踪,在这期间 DNS 提供程序以递归方式解析 CNAME 条目,直到解析出 IP 地址为止。 Azure DNS 支持 Azure Front Door 终结点的此功能。
注意
其他 DNS 提供程序支持 CNAME 平展或 DNS 跟踪。 但是,Azure Front Door 建议客户使用 Azure DNS 来托管他们的域。
你可以使用 Azure 门户在 Azure Front Door 上加入 apex 域,并通过将它与传输层安全性 (TLS) 证书相关联,对其启用 HTTPS。 顶点域也称为根域或裸域。
Apex 域位于 DNS 区域的根目录中,并且不包含子域。 例如,contoso.com
是 apex 域。 使用 Azure DNS 时,Azure Front Door 支持添加 apex 域。 有关 apex 域的详细信息,请参阅 Azure Front Door 中的域。
你可以使用 Azure 门户在 Azure Front Door 配置文件上加入 apex 域,并通过将它与 TLS 证书相关联,对其启用 HTTPS。
在 Azure Front Door 配置文件上加入自定义域
在“设置”下,为 Azure Front Door 配置文件选择“域”。 然后选择“+ 添加”以添加新的自定义域。
在“添加域”窗格上,输入有关自定义域的信息。 可以选择 Azure 托管的 DNS(建议),也可以选择使用自己的 DNS 提供程序。
Azure 托管的 DNS:选择现有的 DNS 区域。 对于“自定义域”,选择“新增”。 从弹出窗口中选择“顶点域”。 然后选择“确定”以保存。
另一个 DNS 提供程序:确保 DNS 提供程序支持 CNAME 平展,并按照添加自定义域的步骤操作。
选择“挂起”验证状态。 此时会显示一个新窗格,其中包含验证自定义域所需的 DNS TXT 记录信息。 TXT 记录的形式为
_dnsauth.<your_subdomain>
。基于 Azure DNS 的区域:选择“添加”按钮,以使用 Azure DNS 区域中显示的值创建新的 TXT 记录。
如果使用的是其他 DNS 提供程序,请使用窗格上所示的记录值手动创建一个名为
_dnsauth.<your_subdomain>
的新 TXT 记录。
关闭“验证自定义域”窗格并返回到 Azure Front Door 配置文件的“域”窗格。 应会看到“验证状态”从“挂起”更改为“已批准”。 否则,等待最多 10 分钟才能显示更改。 如果验证未获得批准,请确保 TXT 记录正确,并且如果使用 Azure DNS,请确保名称服务器配置正确。
从“终结点关联”列中选择“取消关联”,将新的自定义域添加到终结点。
在“关联终结点和路由”窗格上,选择要将域关联到的终结点和路由。 然后选择“关联”。
在“DNS 状态”列下,选择“当前未检测到 CNAME 记录”以将别名记录添加到 DNS 提供程序。
Azure DNS:选择“添加”。
支持 CNAME 平展的 DNS 提供程序:必须手动输入别名记录名称。
创建别名记录并将自定义域关联到 Azure Front Door 终结点后,流量随即开始流动。
注意
- DNS 状态列用于 CNAME 映射检查。 由于顶点域不支持 CNAME 记录,因此即使将别名记录添加到 DNS 提供程序后,DNS 状态也会显示“当前未检测到 CNAME 记录”。
- 在将 Azure Web 应用等服务置于 Azure Front Door 后面时,需要使用与 Azure Front Door 中根域相同的域名配置 Web 应用。 还需要使用该域名配置后端主机头,以防止发生重定向循环。
- 顶点域没有指向 Azure Front Door 配置文件的 CNAME 记录。 除非在轮换之间完成域验证,否则托管证书自动轮换始终会失败。
- 创建别名记录需要 Microsoft.Network 资源提供程序。
在自定义域上启用 HTTPS
按照为自定义域配置 HTTPS 的指南,为顶点域启用 HTTPS。
为区域顶点创建别名记录
打开要载入的域的“Azure DNS”配置。
创建或编辑区域顶点的记录。
选择记录类型为“A”。对于“别名记录集”,请选择“是”。 将“别名类型”设置为“Azure 资源”。
选择包含 Azure Front Door 配置文件的 Azure 订阅。 然后从“Azure 资源”选择列表中选择 Azure Front Door 资源。
选择“确定”提交更改。
前面的步骤创建了指向 Azure Front Door 资源的区域顶点记录。 还创建了一个 CNAME 记录映射 afdverify(例如
afdverify.contosonews.com
),用于在 Azure Front Door 配置文件上载入域。
在 Azure Front Door 上载入自定义域
在“Azure Front Door 设计器”选项卡上,选择“前端主机”部分的 + 图标以添加新的自定义域。
在“自定义主机名”字段中输入根域或顶点域的名称。 示例为
contosonews.com
。验证了从域到 Azure Front Door 的 CNAME 映射后,选择“添加”以添加自定义域。
选择“保存”提交更改。
在自定义域上启用 HTTPS
选择已添加的自定义域。 在“自定义域 HTTPS”部分下,将状态更改为“已启用”。
对于“证书管理类型”,选择“使用我自己的证书”。
警告
顶点域或根域目前不支持 Azure Front Door 托管证书管理类型。 在顶点域或根域上为 Azure Front Door 启用 HTTPS 的唯一选项是使用托管在 Azure Key Vault 上的自定义 TLS/SSL 证书。
继续下一步之前,确保已为 Azure Front Door 设置了适当权限访问密钥保管库(如 UI 中所注)。
从当前订阅中选择“密钥保管库帐户”。 然后选择相应的“机密”和“机密版本”以映射到正确的证书。
选择“更新”以保存选择。 再选择“保存” 。
几分钟后选择“刷新”。 然后再次选择自定义域,查看证书预配进度。
警告
确保已为顶点域创建了合适的传递规则,或已将域添加到现有传递规则。