域名所有权错误。未找到 CNAME 记录。请添加指向 myapp.azurewebsites.net 的 CNAME 记录

域名所有权错误。未找到 CNAME 记录。请添加指向 myapp.azurewebsites.net 的 CNAME 记录

我正在尝试设置网址https://www.mywebsite.net.auhttps://mywebsite.net.au与 Cloudflare 一起使用我的 Azure App Service。

其中 mywebsite 代表我的网站名称。

目前,当我访问此网址时出现 404 错误。

在 Azure 的自定义域中,当我尝试为 www.jobtalk.net.au 添加主机名并单击“验证”时,出现域所有权错误“未找到 CNAME 记录。请添加指向 sbdwebapp.azurewebsites.net 的 CNAME 记录”

如果我尝试为 www 添加 CNAME,其值为 sbdwebapp.azurewebsites.net

我收到一条错误消息:

n A, AAAA or CNAME record already exists with that host. (Code: 81053)

我正在尝试关注 https://docs.microsoft.com/en-us/azure/app-service-web/app-service-web-tutorial-custom-domain#cname

CloudFlare 中显示的 DNS

答案1

问题在于CloudFlare 的 CNAME 扁平化以及 Azure 的 CNAME 验证。CNAME 扁平化本质上返回 A 记录,这可以加快 DNS 解析速度,总体来说是个好主意。但是,Azure 的 CNAME 验证仅验证 CNAME 记录。

我发现的最佳解决方法是:

  1. 禁用 CloudFlare 的 HTTP 代理(单击该 CNAME 记录上的橙色云,使其变为灰色);这也会禁用该记录的 CNAME 展平。
  2. 检查您的主机直到您看到 CNAME 记录出现。
  3. 在 Azure 门户上验证您的 CNAME 主机。
  4. 重新启用 CloudFlare 的 HTTP 代理(单击该 CNAME 记录上的灰色云,使其变为橙色)。

这使您可以在 Azure 上进行验证,并仍然利用 CloudFlare 的 CDN。

答案2

您可能需要等待一段时间才能看到 DNS 设置中的更改。据我所知,设置似乎正确,您现在要做的就是等待。我从未使用 CloudFlare 来管理 DNS,但他们以在所有平台上的强大缓存而闻名,我不得不假设托管 DNS 的工作方式相同。这也可能是您的 ISP/Microsoft TTL 的问题,而不是 CloudFlare 的问题。

验证配置的一种方法是使用 nslookup 命令从工作站直接访问 DNS 服务器。这样,您就可以匹配源 DNS 服务器和来自 ISP 的信息。

c:\> nslookup
> set type=CNAME
> www.mywebsite.net.au

并将结果与​​以下结果进行比较:

c:\> nslookup - 123.123.123.123  <- replace with cloudflare dns server
> set type=CNAME
> www.mywebsite.net.au

通常,Microsoft 会直接使用管理您的域的 DNS 服务器来验证 DNS 设置,因此不会花费很长时间,但我之前遇到过一些奇怪的情况。

此外,虽然我不再在文档中看到它,但之前需要为 awverify 条目添加别名,因此请尝试将以下内容添加到您的 dns 设置中:

awverify CNAME awverify.myapp.azurewebsites.net

这是使用域名前验证的要求。验证后您可以删除。

答案3

在 CloudFlare DNS 中我有

Type Name Value
CNAME www        is an alias of myapp.azurewebsites.net

www在Cloudflare管理页面中修改为您的主机名,如下所示:

CNAME     jasontest321       jasontest321.azurewebsites.net

这个对我有用:在此处输入图片描述

相关内容