你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用自定义域和托管证书保护 Azure 应用服务应用

应用 <app-name>.azurewebsites.net 附带的默认域名可能无法理想地展示品牌。 在本教程中,使用你拥有的 www 域(例如 www.contoso.com)配置应用服务,并使用应用服务托管证书保护自定义域。

<app-name>.azurewebsites.net 名称已受所有应用服务应用的通配符证书保护,但自定义域需要使用单独的证书进行 TLS 保护。 最简单的方法是使用来自应用服务的托管证书。 它免费且易于使用,并提供在应用服务中保护自定义域的基本功能。 有关详细信息,请参阅在应用服务中添加 TLS 证书

方案先决条件

  • 创建应用服务应用
  • 请确保你可以编辑自定义域的 DNS 记录。 要编辑 DNS 记录,需要有权访问域提供商(例如 GoDaddy)的 DNS 注册表。 例如,若要添加 www.contoso.com 的 DNS 条目,必须要能配置 contoso.com 根域的 DNS 设置。 你的自定义域必须在某个公共 DNS 区域中;专用 DNS 区域只在内部负载均衡器 (ILB) 应用服务环境 (ASE) 上受支持。
  • 如果还没有自定义域,可购买应用服务域

A. 纵向扩展应用

需要将应用扩展到“基本”层级。 “基本”层级满足自定义域和证书的最低定价层要求(“共享”和“基本”层)。

步骤 1:在 Azure 门户中:

  1. 在顶部的搜索栏中输入应用的名称。
  2. 选择类型为“应用服务”的命名资源。

A screenshot showing how to use the search box in the top tool bar to open your App Service app's management page.

步骤 2:在应用的管理页中:

  1. 在左侧导航栏中,选择“纵向扩展(应用服务计划)”。
  2. 选中“基本 B1”复选框。
  3. 选择“选择” 。 应用更新完成后,会看到通知 Toast。

A screenshot showing how to scale up an App Service app to Basic B1 tier.

有关应用扩展的详细信息,请参阅扩展 Azure 应用服务中的应用

B. 配置自定义域

步骤 1:在应用的管理页中:

  1. 在左侧菜单中,选择“自定义域”。
  2. 选择“添加自定义域”。

A screenshot showing how to add a custom domain.

步骤 2:在“添加自定义域”对话框中:

  1. 对于“域提供程序”,请选择“所有其他域服务”。
  2. 对于“TLS/SSL 证书”,请选择“应用服务托管证书”。
  3. 对于“域”,请根据你拥有的域指定所需的完全限定的域名。 例如,如果你拥有的域是 contoso.com,则可以使用 www.contoso.com
  4. 暂时不要选择“验证”。

A screenshot showing how to configure a new custom domain, along with a managed certificate.

对于应用服务中的每个自定义域,需要向域提供商提供两条 DNS 记录。 “域验证”部分显示必须通过域提供商添加的两条 DNS 记录。 选择相应的“复制”按钮,以帮助你完成下一步。

C. 创建 DNS 记录

请登录到域提供商的网站。

  1. 查找用于管理 DNS 记录、域名、DNS 或名称服务器管理的页面(确切页面因域提供商而异)。
  2. 选择“添加”或相应的小组件来创建 DNS 记录。
  3. 根据 Azure 门户中的“域验证”部分选择 DNS 记录类型(CNAME、A 或 TXT)。
  4. 根据 Azure 门户中“域验证”部分中的“主机”和“值”列配置 DNS 记录。
  5. 请务必为自定义域添加两个不同的记录。
  6. 对于某些提供商,在选择单独的“保存更改”链接之前,这些 DNS 记录不会生效。 屏幕截图显示完成操作后,www 子域的 DNS 记录应该是什么样。

A screenshot showing an example of what your domain provider's website should look like after you add a CNAME record and a TXT record for a www subdomain.

D. 验证并完成

步骤 1:返回 Azure 门户中的“添加自定义域”对话框,选择“验证”。

A screenshot showing how to validate your DNS record settings in the Add a custom domain dialog.

步骤2:如果两个域记录的“域验证”部分旁边都显示了绿色对勾标记,则表明你已正确配置它们。 选择添加。 如果显示任何红色 X,请修复域提供商网站的 DNS 记录设置中存在的错误。

A screenshot showing the Add button activated after validation.

步骤 3:你应该能看到该自定义域已添加到列表中。 你还应该看到标明无绑定的红色 X。 请等待几分钟,让应用服务为自定义域创建托管证书。 该过程完成后,红色 X 将变为标有“安全”的绿色复选标记。

A screenshot showing the custom domains page with the new secured custom domain.

E. 在浏览器中测试

浏览至你之前配置的 DNS 名称(例如 www.contoso.com)。 地址栏现在应该会为你的应用 URL 显示安全锁图标,表示它受 TLS 保护。

A screenshot that shows navigation to the App Service app with a custom domain and TLS security.

如果在浏览到自定义域的 URL 时收到 HTTP 404(未找到)错误,则浏览器客户端可能缓存了自定义域的旧 IP 地址。 请清除缓存,然后再次尝试导航到 URL。 在 Windows 计算机上,使用 ipconfig /flushdns 清除缓存。

常见问题

如果还没有自定义域,该怎么办?

只要不删除应用,<app-name>.azurewebsites.net 名称就始终会分配给应用。 可以根据需要购买应用服务域。 应用服务域由 Azure 管理,并与应用服务集成,因此可以更轻松地将其与应用一起管理。

此托管证书是否过期?

只要为应用服务应用中的自定义域配置了应用服务托管证书,该证书就不会过期。

我还可以如何使用应用的应用服务托管证书?

托管证书是免费提供的,仅用于保护应用所配置的自定义域。 它具有一些限制。 若要执行更多操作(例如下载证书或在应用程序代码中使用它),可以上传自己的证书、购买应用服务证书或导入密钥保管库证书。 有关详细信息,请参阅向应用添加专用证书

如何使用已有证书来保护自定义域?

请参阅向应用添加专用证书在 Azure 应用服务中使用 TLS/SSL 绑定保护自定义 DNS 名称

后续步骤