如何将bare domain CName记录设置为指向S3存储桶而不影响MX记录
问题描述:
我有一个静态站点,位于S3存储桶中,并且在Namecheap中注册了一个域(例如mydomain.com) 我希望人们访问我的站点使用裸域(即无子域) 我添加了一个DNS记录,像这样..如何将bare domain CName记录设置为指向S3存储桶而不影响MX记录
Type = CName
Host = @
Value = [URL to S3 bucket]
这工作,但现在电子邮件给该域邮箱(如[email protected])不起作用。我读过这是因为如果使用CNAME为主机指定裸露的规范名称,则不允许为该主机拥有任何其他资源记录(例如MX)。
我该如何解决这个问题?我不想诉诸添加像www这样的子域名。
答
这不是一个有效的配置在这样的区域的顶点有一个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。
我不属于该服务,但我看到它用于此目的。
请看这里:https://aws.amazon.com/blogs/aws/root-domain-website-hosting-for-amazon-s3/ – at0mzk
只有当域名托管在Aws时才有效,您可以设置A记录以指向S3存储桶。 我无法从外部域主机设置A记录,因为我不知道S3存储桶的IP地址是否指向 – MakkyNZ
,因此您需要使用Route 53进行此操作,您可以使用它也未通过AWS注册的域名。或者有什么理由不能使用它? – at0mzk