如何使用Route 53将裸(apex)域重定向到www?

时间:2014-02-26 21:17:14

标签: redirect amazon-web-services amazon-s3 dns amazon-route53

我需要使用Route 53(以及必要时的S3)从example.com进行301重定向到www.example.com。针对类似问题提供了一些解决方案,但它们要么没有解决redirect from the apex的问题,要么只涉及don't work

当我按照here步骤操作时,Route 53告诉我无法将CNAME添加到顶点域。因此,我陷入困境。

这似乎很简单,但亚马逊正在努力。任何帮助将不胜感激。

enter image description here

4 个答案:

答案 0 :(得分:62)

我昨天成功解决了这个问题:

  1. 转到https://console.aws.amazon.com/s3/home的S3控制台,然后点击创建广告管理。对于广告管理名称,请输入您的裸域名,例如对于www.example.com,您只需放置example.com。然后点击创建

  2. 点击新存储桶的名称,然后点击属性> 静态网站托管。在显示的菜单上,选择重定向请求。对于目标存储桶或域,请输入完整域,例如www.example.com。对于协议,请输入所需的协议,http或https。点击保存

  3. 通过导航至https://console.aws.amazon.com/route53/home并点击左侧菜单中的托管区域,打开Route 53托管区域。选择您的域,然后单击创建记录集。将名称区域留空,并将默认类型保留为 A - IPv4地址。为Alias选择,然后单击别名目标文本框。您可能需要等待一段时间才能显示填充下拉菜单中的值。此时,菜单应包含您在步骤1和2中创建的S3网站端点。选择它。

  4. 最后,点击创建,享受新的路由设置!

答案 1 :(得分:18)

尝试制作别名记录而不是CNAME。

根据这个答案: RRSet of type CNAME with DNS name foo.com. is not permitted at apex in zone bar.com

答案 2 :(得分:3)

必要步骤如下:

  • 创建一个新的Bucket并将其称为您的裸域名(例如:example.com)。
  • 在Bucket属性中,选择“Static Website Hosting”并将其重定向到您的www.example.com域。点击“保存”。
  • 转到Route53托管区域,并创建A记录。将其标记为别名,然后从下拉列表中选择最近创建的存储桶。
  • 你准备好了。

答案 3 :(得分:0)

如果您使用的是应用程序负载平衡器,他们会添加对重定向的支持。您将区域顶点指向ELB(使用别名),并让ELB重定向到www.example.com

与设置存储桶,添加静态托管,重定向等相比,这似乎是一种更好的解决方案。

https://aws.amazon.com/about-aws/whats-new/2018/07/elastic-load-balancing-announces-support-for-redirects-and-fixed-responses-for-application-load-balancer/