你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
从 2025 年 7 月 28 日起,对应用服务 托管证书 (ASMC)的更改会影响某些情况下证书的颁发和续订方式。 虽然大多数客户不需要采取措施,但我们建议查看 ASMC 的详细博客文章 以了解详细信息。
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 记录。 | 
注意
有关演示如何配置 www 子域和托管证书的端到端教程,请参阅教程:使用自定义域和托管证书保护 Azure 应用服务应用。
先决条件
- 创建应用服务应用,或使用为另一教程创建的应用。 Web 应用的应用服务计划必须为付费层,而不是免费 (F1) 层。 请参阅纵向扩展应用以更新层级。
- 请确保你可以编辑自定义域的 DNS 记录。 要编辑 DNS 记录,需要有权访问域提供商(例如 GoDaddy)的 DNS 注册表。 例如,若要添加 contoso.com和www.contoso.com的 DNS 条目,必须能够配置contoso.com根域的 DNS 设置。 自定义域必须位于公共 DNS 区域中;不支持专用 DNS 区域。
- 如果还没有自定义域,可购买应用服务域。
配置自定义域
- 在 Azure 门户中,导航到应用的管理页。 
- 在应用的左侧菜单中,选择“自定义域”。 
- 选择“添加自定义域”。   
- 对于“域提供程序”,请选择“所有其他域服务”以配置第三方域。 - 注意 - 要配置应用服务域,请参阅为 Azure 应用服务购买自定义域名。 
- 对于“TLS/SSL 证书”,如果应用位于基本层或更高层,请选择“应用服务托管证书”。 如果你要继续使用“共享”层,或者想要使用自己的证书,请选择“稍后添加证书”。 
- 对于“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 仅在标准层或更高层中受支持。
- 对于域,请根据拥有的域,指定所需的完全限定的域名。 “主机名记录类型”框默认为建议使用的 DNS 记录,具体取决于该域是根域(如 )、子域(如 - contoso.com)还是通配符域(如- www.contoso.com)- *.contoso.com。
- 暂时不要选择“验证”。 
- 对于应用服务中的每个自定义域,需要向域提供商提供两条 DNS 记录。 “域验证”部分显示了您在域提供商处必须添加的两个 DNS 记录。 可以使用复制按钮复制下一部分所需的值。 - 以下屏幕截图显示了 - www.contoso.com域的默认选项。 其中显示了要添加的 CNAME 记录和 TXT 记录。  - 警告 - 虽然不是绝对需要添加 TXT 记录,但出于安全原因,强烈建议这样做。 TXT 记录是域验证 ID,可帮助避免其他应用服务应用接管子域。 对于先前配置的没有此验证 ID 的自定义域,应将验证 ID(TXT 记录)添加到 DNS 配置中,以防止这些域面临相同的风险。 有关此常见高严重性威胁的详细信息,请参阅子域接管。 
创建 DNS 记录
- 请登录到域提供商的网站。 - 可使用 Azure DNS 来管理域的 DNS 记录,并为 Azure 应用服务配置自定义 DNS 名称。 有关详细信息,请参阅教程:在 Azure DNS 中托管域。 
- 查找管理 DNS 记录的页面。 - 每个域提供商都有自己的 DNS 记录界面,因此请查阅提供商的文档。 查找站点中标记为“域名”、“DNS”或“名称服务器管理”的区域。 - 通常,可以通过查看帐户信息,然后查找类似于 “我的域”的链接来查找 DNS 记录页。 转到该页面,然后查找名称类似于“区域文件”、“DNS 记录”或“高级配置”的链接 。 - 以下屏幕截图是 DNS 记录页的一个示例:  
- 若要创建记录,请选择“ 添加 ”或选择相应的小组件。 
注意
对于某些提供商(例如 GoDaddy),在你选择单独的“保存更改”链接之前,这些 DNS 记录不会生效 。
选择要创建的记录的类型,然后按照说明进行操作。 可以使用 CNAME 记录或 A 记录将自定义 DNS 名称映射到应用服务。 当函数应用托管在消耗计划中时,仅支持 CNAME 选项。
如下表所述创建两条记录:
| 记录类型 | 主机 | 值 | 注释 | 
|---|---|---|---|
| A | @ | “添加自定义域”对话框中显示的应用的 IP 地址。 | 域映射本身。 ( @通常代表根域。) | 
| TXT | asuid | “添加自定义域”对话框中显示的域验证 ID。 | 对于根域,应用服务访问 asuidTXT 记录以验证你对自定义域的所有权。 | 

验证域所有权并完成映射
- 返回 Azure 门户中的“添加自定义域”对话框,选择“验证”。   
- 如果“域验证”部分在两条域记录的旁边显示了绿色对勾标记,则表明你已正确配置它们。 选择 添加 。 如果看到任何错误或警告,请在域提供商网站上的 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 通过脚本自动管理自定义域。
以下命令将配置的自定义 DNS 名称添加到应用服务应用。
az webapp config hostname add \
    --webapp-name <app-name> \
    --resource-group <resource_group_name> \
    --hostname <fully_qualified_domain_name>
有关详细信息,请参阅将自定义域映射到 Web 应用。


