将Amazon的CloudFront指向A记录而不是CNAME

21

我找到了将我的域名的CNAME指向Amazon CloudFront服务的说明,但理想情况下,我想将根名称(A记录名称)指向它。例如,example.com而不是www.example.com。这个可能吗?

2个回答

23
您可以使用AWS的Route 53服务将区域顶点(例如example.com)指向CloudFront分发。只需登录到CloudFront分发并将备用域名(CNAME)设置为您的域名(例如example.com和/或www.example.com)。然后,在Route 53中,为您的域创建托管区域,然后选择CloudFront分发作为目标创建别名记录。您还可以为任何子域创建第二个别名记录,例如www.example.com。注意:您还需要与您的域名注册商更改名称服务器。
来自Route 53常见问题解答:
问:我能否将我的区域顶级域名(example.com)指向我的Amazon CloudFront分发,而不是指向www.example.com?
答:可以。Amazon Route 53提供了一种特殊类型的记录,称为“别名”记录,它允许您将您的区域顶级域名(例如example.com)DNS名称映射到您的Amazon CloudFront分发(例如d123.cloudfront.net)。与Amazon CloudFront端点关联的IP地址因最终用户所在位置(以便将最终用户引导到最近的CloudFront边缘位置)而异,并且由于扩展、缩小或软件更新,这些地址随时可能发生变化。Route 53会响应每个别名记录的请求,并返回分发的IP地址。Route 53不收取映射到CloudFront分发的别名记录查询费用。这些查询在Amazon Route 53使用报告中列为“Intra-AWS-DNS-Queries”。
有关更多信息,请参阅AWS文档:

3
需要注意的一点是,您需要将您的顶级域名添加到CloudFront配置中的“CNAMES”列表中(即使它不是CNAME),否则在Route 53下拉菜单中不会显示为别名选项。我之前遇到了这个问题。 - Peter
2
亚马逊应该修复他们的用户界面,因为虽然你可以使用A记录,但该字段被称为备用CNAME,并且帮助文档并没有明确说明你可以使用别名。 - Paul Taylor
3
我们能否不使用Amazon Route 53来完成这个任务?我的现有DNS提供商支持顶级域名记录。 - arunvelsriram

8
指向www.example.com仍然可以通过A记录完成,但是您必须将其指向一个IP地址,与前面的“www”或其他任何内容无关。
CNAME和A记录之间的区别只在于CNAME指向另一个名称,该名称必须由DNS查找,而A记录仅需要一次查找并直接指向IP地址。
也就是说,您很快就会明白为什么在这种类型的云托管中使用A记录可能是不好的选择或不可能的。亚马逊使用多个IP地址,您事先不会知道这些IP地址是什么。 DNS更改很慢。因此,除非您有一个特定的IP地址不会更改,否则使用A记录根本行不通。找到一个具有固定IP地址的托管提供商,您可以使用A记录。
就性能或可达性而言,CNAME和A记录之间只有微小的差异。
编辑:正如SLaks所指出的那样,最好坚持使用旧规则为您的根域名使用A记录。但是,您会发现有时您会没有选择,这取决于您的托管提供商允许您做什么。幸运的是,现在几乎没有什么东西可以实际上阻止您这样做(使用CNAME)。

6
不正确。CNAME不应用于根域名,因为某些较旧的电子邮件服务器无法处理它们。事实上,一些注册机构将不允许您为域名根创建CNAME。 - SLaks
真的吗?我读到相反的。但无论如何,你能更精确一些吗?虽然我使用A记录,但我知道有成千上万的网站使用CNAME记录。维基百科并不是最小的网站之一,它为所有本地版本(即nl.wikipedia.org是一个CNAME)使用CNAME记录。也许你所说的“旧”是指20世纪90年代之前? - Abel
底线:不必担心CNAME。另外,电子邮件服务器不使用CNAME或A记录,它们使用MX记录,从我所见,它基于名称而非IP地址(例如,检查gmail)。 - Abel
1
去年我亲眼见过一个电子邮件服务器,由于根域名是CNAME,无法向我的域名发送邮件。 - SLaks
7
DNS RFC(RFC1033)要求“区域顶点”(有时称为“根域”或“裸域”)必须是“A记录”。 - Walking Wiki
5
nl.wikipedia.org不是根域名,而是子域名,您可以使用CNAMES对其进行解析而不会出现问题。但是,在根域名上,即wikipedia.org上使用CNAME是不允许的。 - jonasfj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接