无法将“example.com”设置为 CNAME 记录?

无法将“example.com”设置为 CNAME 记录?

我目前在家里运行服务器,但我有一个动态 IP。所以我订阅了动态 DNS 服务(dlinkddns.com)。我在自己的网络中进行了所有正确的设置,并且 IP 更新完美。

问题是我有一个域名(假设为“example.com”),我想将不带任何前缀的根域名(“example.com”)设置为我的 dlinkddns 域的 CNAME。但我的域名 DNS 主机说我不能这样做(“不允许”)。我可以对“www.example.com”等执行此操作,而且效果很好,但对根域名却不行。有人知道这个问题的解决方案吗?

答案1

您不能为根域(例如example.com)设置 CNAME 记录,因为这会破坏RFC 1034 第 3.6.2 节,其中指出,

如果节点上存在 CNAME RR,则不应存在其他数据;这确保了规范名称和其别名的数据不会有所不同。

您不能这样做,example.com因为example.com还会有 NS 记录才能使其工作,这违反了不应存在其他数据的规则。

您可以拥有一个 CNAME 记录,www.example.com因为这不是根域,因此很容易没有其他数据。

解决这个问题的唯一方法是

  • 使用 www 前缀,或者
  • 将域名停放在您希望 CNAME 记录指向的位置,并获取相关 IP 地址来设置 A 记录example.com

我刚刚看到你正在使用动态 DNS。如果你将域名托管在他们的名称服务器上,一些动态 DNS 提供商可以处理你的域名:这样他们的动态 DNS 更新程序就可以更新 example.com 的 IP 地址,而你完全可以避免任何 CNAME 问题。据我所知,只有 dyndns 提供这项付费服务​​。

答案2

您不能在 CNAME 记录中设置裸域名。您必须在 CNAME 记录中仅对别名域(如 www.example.com、about.example.com 等)进行那些设置,并且必须在 A 记录中设置主域或根域,并且您必须提供主机的 IP 地址。首先从 CNAME 中删除有关裸域的设置并将其设置为“A 记录”,然后在 C 名称中对别名(如 www、about 或类似内容)进行设置。

这可能会帮助你:A 记录、CNAME、MX 记录:博客设置基础知识

答案3

CNAME通过记录找到了一个裸域名,@如前所述这里对某些域名提供商不起作用。要解决这个问题,您可以考虑将您的名称服务器指向支持 或 的 DNSALIAS提供商ANAME

关注 一些 DNS 主机提供了CNAME一种使用自定义记录类型在区域顶点(根域级别,对于裸域名)获取类似功能的方法。

这些记录包括:

  • ALIAS在 DNSimple
  • ANAMEDNS Made Easy
  • ANAME在 easyDNS
  • CNAME在 CloudFlare
  • ALIAS在 CloudDNS

对于每个提供商,设置都是类似的:将您的顶级域的ALIAS或条目指向,就像您对记录所做的那样。ANAMEexample.yourdomain.comCNAME

ALIAS or ANAME or @ example.whateverdomain.com.

相关内容