在 Azure 应用服务中为 Web 应用设置域或 TLS/SSL 证书时,可能会遇到以下常见问题。 本文探讨这些问题的可能原因和解决方案。
除了本文中的信息外,还可以通过联系 Azure 专家在 Microsoft Q & A 和 Stack Overflow 论坛上获取更多帮助。 或者,可以在 Azure 支持站点上提交 Azure 支持事件。 选择“ 获取支持”。
备注
建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az。
添加 TLS 绑定时收到以下错误消息:
“未能添加 SSL 绑定。 无法设置现有 VIP 的证书,因为另一个 VIP 已使用该证书。”
如果对跨多个应用的同一 IP 地址使用多个基于 IP 的 TLS/SSL 绑定,则可能会出现此问题。 例如,应用 A 具有采用旧证书的基于 IP 的 TLS/SSL 绑定。 应用 B 对同一 IP 地址使用采用新证书的基于 IP 的 TLS/SSL 绑定。 使用新证书更新应用 TLS 绑定时,更新会失败,因为同一 IP 地址用于另一个应用,并且会收到错误消息。
若要解决此问题,请尝试使用以下方法之一:
- 在应用中删除使用旧证书的基于 IP 的 TLS/SSL 绑定。
- 新建使用新证书的基于 IP 的 TLS/SSL 绑定。
尝试删除证书时出现以下错误消息:
“无法删除证书,因为它当前正用于 TLS/SSL 绑定。 必须先删除 TLS 绑定,然后才能删除证书。”
如果另一个应用使用了该证书,则可能会出现此问题。
- 从应用中删除该证书的 TLS 绑定。
- 尝试删除证书。
- 如果仍无法删除证书,请清除 Internet 浏览器缓存,然后在新的浏览器窗口中重新打开 Azure 门户。 然后尝试删除证书。
使用自定义域名浏览到站点时,会收到错误消息“错误 404 - 找不到 Web 应用”。
原因 1
配置的自定义域缺少 CNAME record
或 A record
之一。
原因 1 的解决方法
- 如果添加了一个
A record
,请确保还添加了一个TXT record
。 有关详细信息,请参阅创建 DNS 记录。 - 如果不必为应用使用根域,建议使用
CNAME record
而不是A record
。 - 不要对同一个域同时使用 a
CNAME record
和 aA record
。 此问题可能会导致冲突,并阻止域解析。
原因 2
Internet 浏览器可能仍在缓存域的旧 IP 地址。
原因 2 的解决方法
清除浏览器缓存。 对于 Windows 设备,可以运行命令 ipconfig /flushdns
。 要检查域是否指向应用的 IP 地址,请使用 WhatsmyDNS.net。
无法将新主机名添加到应用,因此无法分配子域。
- 通过咨询订阅管理员,确保你有权限向应用添加主机名。
- 如果需要更多子域,建议将域托管更改为 Azure DNS。 使用 Azure DNS 可将 500 个主机名添加到应用。 有关详细信息,请参阅添加子域。
收到以下错误消息:“无法找到 DNS 记录。
此问题是由以下原因之一导致的:
- 生存时间(TTL)期限尚未过期。 若要确定 TTL 值,请检查域的 DNS 配置,并等待期限到期。
- DNS 配置不正确。
- 等待48小时,此问题将自行解决。
- 如果可以更改 DNS 配置中的 TTL 设置,请尝试将该值更改为 5 分钟,这样可能会解决此问题。
- 要验证域是否指向应用的 IP 地址,请使用 WhatsmyDNS.net。 如果此域名不指向正确的 IP 地址,请将
A record
配置为应用的正确 IP 地址。
域不再显示在 Azure 门户中。
订阅所有者可能意外删除了该域。
如果域的删除时间不超过七天,则该域尚未启动删除过程。 在这种情况下,可以在 Azure 门户中的同一个订阅下再次购买同一个域。 (请务必在搜索框中键入确切的域名。)此域不会重复产生费用。 如果该域的删除时间超过七天,请求助 Azure 支持来还原该域。
为错误的域购买了应用服务证书, 并且无法将该证书更新为使用正确的域。
删除该证书,然后购买新证书。
如果使用错误的域的当前证书处于“已颁发”状态,则你也会为该证书付费。 应用服务证书不可退款,但可以联系 Azure 支持以获取其他可能的解决方案。
应用服务证书要求先经过域验证,然后该证书才可供使用。 选择“验证”时,验证过程失败。
通过添加 TXT record
来手动验证域:
转到托管域名的 DNS 提供商站点。
向域添加使用 Azure 门户中域令牌的值的
TXT record
。等待几分钟以运行 DNS 传播,然后选择“刷新”按钮以触发验证。
另一种做法是使用 HTML 网页方法来手动验证域。 此方法允许证书颁发机构(CA)确认为其颁发证书的域的域所有权。
创建名为 . 的
{domain verification token}.html
HTML 文件。 文件内容应包含域验证令牌的值。将此文件上传到托管域的 Web 服务器的根目录。
选择“刷新”,检查证书状态。 验证可能需要几分钟才能完成。
例如,如果您使用域验证令牌 1234abcd
为 azure.com 购买标准证书,发出的 https://azure.com/1234abcd.html
网络请求应该返回 1234abcd
。
重要
在购买证书后,必须在 15 天内完成域名验证操作。 15 天后,CA 会拒绝证书,并且不会对证书收费。 在此情况下,请删除该证书并重试。
不能在 Azure 门户中购买应用服务域。
此问题是由以下原因之一导致的:
Azure 订阅中没有信用卡,或信用卡无效。
解决方案:将有效的信用卡添加到订阅。
Azure 订阅类型不支持购买应用服务域。
解决方案:将 Azure 订阅升级到其他订阅类型,例如即用即付订阅。
根据订阅类型,可能需要拥有足够的付款历史记录,然后才能购买应用服务域。
解决方案:使用具有付款历史记录的其他订阅进行购买,或等到你拥有当前订阅的付款历史记录。
你不是订阅所有者,因此无权购买域。
解决方案:向帐户分配“所有者”角色。 或者,联系订阅管理员以获得购买域的权限。
在添加主机名的过程中无法验证域。
此问题是由以下原因之一导致的:
您没有添加主机名的权限。
解决方案:让订阅管理员为你授予添加主机名的权限。
无法验证域所有权。
解决方案:验证您的
CNAME record
或A record
是否已正确设置。 若要将自定义域映射到应用,请创建一个CNAME record
或A record
。 如果要使用根域,则必须使用A record
和TXT record
:记录类型 主机 指向 A
@
应用的 IP 地址 TXT
@
<app-name>.chinacloudsites.cn
CNAME
www
<app-name>.chinacloudsites.cn
购买网站时是否必须为其配置自定义域?
当从 Azure 门户购买域时,应用服务应用会自动配置为使用该自定义域。 无需采取任何进一步的步骤。 有关详细信息,请在 Channel9 上观看 Azure 应用服务自助:添加自定义域名。
可以改用在 Azure 门户中购买的域来指向 Azure 虚拟机吗?
是的,可以将域指向虚拟机。 有关详细信息,请参阅使用 Azure DNS 为 Azure 服务提供自定义域设置。
我的域是由 GoDaddy 还是 Azure DNS 托管?
应用服务域使用 GoDaddy 进行域注册,使用 Azure DNS 来托管域。
我已启用自动续订,但仍通过电子邮件收到我的域的续订通知。 应采取何种操作?
如果启用自动续订,则无需执行任何操作。 电子邮件仅通知你域即将过期,并且如果未启用自动续订,则必须手动续订。
在 Azure DNS 中托管域是否要付费?
最初的域购买费用仅适用于域注册。 除了注册成本,Azure DNS 还会根据使用量收费。 有关详细信息,请参阅 Azure DNS 定价。
我以前从 Azure 门户购买了我的域,并希望从 GoDaddy 托管迁移到 Azure DNS 托管。 如何执行此操作?
不需要迁移到 Azure DNS 托管。 如果要迁移到 Azure DNS,Azure 门户中的域管理体验会提供有关迁移到 Azure DNS 所需步骤的信息。 如果是通过应用服务购买的域,则从 GoDaddy 托管迁移到 Azure DNS 是一个相对无缝的过程。
我想从应用服务购买我的域,但是否可以在 GoDaddy 而不是 Azure DNS 上托管我的域?
从 2017 年 7 月 24 日开始,Azure 在 Azure DNS 上托管从 Azure 门户购买的应用服务域。 如果想要使用其他托管提供商,则必须转到其网站以获取域托管解决方案。
是否需要支付域的隐私保护费用?
通过 Azure 门户购买域时,可以选择免费添加隐私保护。 你通过 Azure 应用服务购买域名时,此权益将被包含在内。
如果我不再想要使用我的域,是否可以获得退款?
购买域名时,前五天不会收费(有一个例外)。 在此期间,可以决定是否保留该域。 在此期限内,如果你选择不保留该域,则无需付费。 结尾 .uk
的域是例外。 如果购买域 .uk
,系统会立即向你收费,并且无法获得退款。
是否可以在订阅中的另一个 Azure 应用服务应用中使用域?
是的,访问 Azure 门户中的“自定义域”和“证书”页面时,你可以看到购买的域。 可将应用配置为使用其中的任何域。
是否可将域从一个订阅转移到另一个订阅?
是的,可以使用 PowerShell cmdlet 将域移动到另一个订阅或资源组 Move-AzResource
。
如果当前没有 Azure 应用服务应用,如何管理自定义域?
即使没有应用服务 Web 应用,也可以管理域。 可以将域用于 Azure 服务,例如 Azure 虚拟机、Azure 存储等。 如果计划将域用于应用服务 Web 应用,则必须包含不在免费应用服务层上的 Web 应用,以便可以将域绑定到 Web 应用。
是否可将使用自定义域的 Web 应用移到另一个订阅,或者将其从应用服务环境 v1 移到 v2?
是的,可以在订阅之间移动 Web 应用。 请遵照如何在 Azure 中移动资源中的指导操作。 移动 Web 应用时会受到一些限制。 有关详细信息,请参阅移动应用服务资源时存在的限制。
移动 Web 应用之后,自定义域设置中的域的主机名绑定应该保持不变。 配置主机名绑定不需要额外的步骤。
从其密钥保管库下载应用服务证书时,会返回哪些文件格式?
在密钥保管库/机密中选择 “下载为证书” 时,应用服务证书的证书文件格式为 .pfx。 不对文件应用密码。
可以使用哪种文件格式将证书上传到应用服务?
证书文件格式必须是 .pfx 文件,并对该文件应用密码。 证书还必须满足 证书要求。
如何为应用服务证书生成证书签名请求?
对于应用服务证书,可以通过 Azure 门户或使用 Powershell/CLI 命令购买。 不需要证书签名请求。 但是,Azure Key Vault 支持存储任何 CA 颁发的数字证书。 它支持创建包含私钥/公钥对的证书签名请求。 证书签名请求可由任何 CA(内部企业 CA 或外部公共 CA)签名。 有关详细信息,请参阅 创建证书签名请求。