我目前正在家里运行服务器,但是我有一个动态IP。因此,我订阅了动态dns服务(dlinkddns.com)。我在自己的网络中进行了所有正确的设置,并且ip更新完美。
问题是我有一个域名(比如说:“ example.com”),我想将不带任何前缀的根域名(“ example.com”)设置为dlinkddns域的CNAME。但是我的域名DNS主机说我不能这样做(“不允许”)。我可以针对“ www.example.com”等执行此操作,但效果很好,但不能用于根域名。有人知道解决方案吗?
我目前正在家里运行服务器,但是我有一个动态IP。因此,我订阅了动态dns服务(dlinkddns.com)。我在自己的网络中进行了所有正确的设置,并且ip更新完美。
问题是我有一个域名(比如说:“ example.com”),我想将不带任何前缀的根域名(“ example.com”)设置为dlinkddns域的CNAME。但是我的域名DNS主机说我不能这样做(“不允许”)。我可以针对“ www.example.com”等执行此操作,但效果很好,但不能用于根域名。有人知道解决方案吗?
Answers:
您不能为根域(例如example.com
)设置CNAME记录,因为这会破坏RFC 1034第3.6.2节的规定,
如果节点上存在CNAME RR,则不应存在其他数据。这样可以确保规范名称及其别名的数据不能不同。
您example.com
之所以不能这样做,是因为它example.com
也将具有NS记录以使其正常工作,这打破了不应存在任何其他数据的规则。
您可以拥有一个CNAME记录,www.example.com
因为它不是根域,因此很容易没有其他数据。
解决此问题的唯一方法是
example.com
。我刚刚读到您正在使用动态DNS。如果您将动态域名托管服务商托管在其域名服务器上,则某些动态DNS提供商可以使用您的域名:这样,他们的动态DNS更新程序就可以更新example.com的IP地址,从而完全避免了任何CNAME问题。从我的头顶上,我只知道提供这项服务的企业。
您不能在CNAME记录中设置裸域名。您仅必须在CNAME记录中为别名域(例如www.example.com,about.example.com等)进行设置,并且必须在A记录中进行主域或ROOT域设置,并且必须提供主机的IP地址。首先从CNAME中删除有关裸域的设置,并将其设置为“ A Records”,然后在C Name中为诸如www,about或类似名称的别名进行设置。
这可能对您有帮助:A记录,CNAME,MX记录:设置博客的基础
我发现,CNAME
通过裸域的@
记录就像提到这里不适合某些域名提供商合作。要摆脱这种情况,您可以考虑将您的NAME SERVERS指向支持ALIAS
或的DNS提供商ANAME
。
遵循 这个也有一些DNS主机提供一种方式来获得CNAME
使用自定义记录类型在区顶点(根域级别,裸域名)样的功能。
此类记录包括,例如:
ALIAS
在DNSimpleANAME
在DNS轻松实现ANAME
在easyDNSCNAME
在CloudFlareALIAS
在CloudDNS对于每个提供商,设置都类似:将您的顶点域的ALIAS
或ANAME
条目指向example.yourdomain.com
,就像CNAME
记录一样。
ALIAS or ANAME or @ example.whateverdomain.com.
A Record
出于某种原因想要一个像www.domain.com这样的Domain前缀。