我有一个名为mymachine.cloudapp.net的Azure VM实例上托管的mydomain.com
我需要配置DNS,以便www.mydomain.com和mydomain.com都映射到同一主机.我正在使用GoDaddy作为注册商.
目前GoDaddy让我创建一个空的(@)A记录,这样如果我ping mymachine.cloudapp.net并解析其VIP地址,我可以将它存储在A记录中.
不幸的是,如果VIP发生变化,我忘记重新ping,我得到mydomain.com无法访问,这是正常的.
当我尝试将该@记录移动到CNAME部分以便最好指向VM主机名时,我收到以下错误:
A record of a different type exists for the hostname @,could not create CNAME
如果我删除A记录并写入CNAME,并且A部分中没有@记录,则会发生这种情况.
如何在GoDaddy托管域中设置@CNAME记录?
解决方法
简而言之,您不能在不删除@的所有其他资源记录的情况下将@记录为CNAME,并且您不能这样做,因为正常的DNS功能需要一些(如NS记录).这是
providers such as Heroku tell you not to use naked domain names的原因之一.
您将需要一个主机为您执行从example.com到www.example.com的HTTP重定向,您将为其指向A(和AAAA)记录.
如果您的DNS托管GoDaddy,那么他们将提供免费服务,为您执行此操作.在GoDaddy域管理器中,在左侧查找“转发”,然后单击“管理”.然后将其设置为将example.com转发到www.example.com并更新DNS以支持更改.您应该将高级选项保留为默认值.