我有mydomain.com
一个托管在名为mymachine.cloudapp.net
我需要配置 DNS,以便两者都www.mydomain.com
映射mydomain.com
到同一主机。我使用 GoDaddy 作为注册商。
目前 GoDaddy 让我创建一个空的 ( @
) A 记录,这样如果我 pingmymachine.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 记录)。这就是Heroku 等提供商告诉您不要使用裸域名的原因之一。
您将需要一个主机来为您执行从
example.com
到的 HTTP 重定向www.example.com
,您将指向A
(和AAAA
)记录 @。如果您的 DNS 由 GoDaddy 托管,那么他们会提供免费服务来为您执行此操作。在您的 GoDaddy 域管理器中,在左侧查找“转发”并单击“管理”。然后将其设置为转发
example.com
并www.example.com
更新您的 DNS 以支持更改。您应该将高级选项保留为默认值。如果不删除 GoDaddy 中的所有其他记录,则无法添加新的 @CNAME 记录。
而是保留 CNAME 记录,并像文档http://surge.sh/help/adding-a-custom-domain中提到的那样设置 A(Apex)记录
它应该是这样的:
或在 GUI 中: