2017-01-30 78 views
0

我有一个静态站点,位于S3存储桶中,并且在Namecheap中注册了一个域(例如mydomain.com) 我希望人们访问我的站点使用裸域(即无子域) 我添加了一个DNS记录,像这样..如何将bare domain CName记录设置为指向S3存储桶而不影响MX记录

Type = CName 
Host = @ 
Value = [URL to S3 bucket] 

这工作,但现在电子邮件给该域邮箱(如[email protected])不起作用。我读过这是因为如果使用CNAME为主机指定裸露的规范名称,则不允许为该主机拥有任何其他资源记录(例如MX)。

我该如何解决这个问题?我不想诉诸添加像www这样的子域名。

+0

请看这里:https://aws.amazon.com/blogs/aws/root-domain-website-hosting-for-amazon-s3/ – at0mzk

+0

只有当域名托管在Aws时才有效,您可以设置A记录以指向S3存储桶。 我无法从外部域主机设置A记录,因为我不知道S3存储桶的IP地址是否指向 – MakkyNZ

+0

,因此您需要使用Route 53进行此操作,您可以使用它也未通过AWS注册的域名。或者有什么理由不能使用它? – at0mzk

回答

2

这不是一个有效的配置在这样的区域的顶点有一个CNAME。 DNS提供商甚至不应该允许您创建它。是的,如果你尝试它,它会破坏你的MX。

这就是为什么Route 53引入了A-记录别名。请参阅注释中提到的the link以获得解释。别名记录看起来像人们通常假定CNAME所做的那样,但它们不是CNAME,并且在顶点不是无效的。

要做到这一点,您需要使用Route 53作为您的权威DNS托管提供商。

一个解决办法是在与www.创建桶中的开始,而不是你现在有一个,创建一个WWW CNAME指向它,然后设置你的@ A记录由服务像http://wwwizer.com所提供的价值,这重定向example.com → www.example.com。

我不属于该服务,但我看到它用于此目的。