将非www请求重定向到Amazon Route 53上的www


44

我想将所有请求从重定向example.comwww.example.com

最好,这应该在DNS级别进行。我尝试使用PTR记录,但是那完全失败,返回404。

wwww.example.com 是弹性负载平衡器的ALIAS。

最简单的方法是什么?


您对PTR记录做了什么尝试?我很好奇。
TRiG 2014年

@flavian张贴者要求进行DNS重写,而不是URL重写,他特别表示,他不在乎URL的外观。
pauska

4
@flavian为方便起见,您说过要在DNS中进行重定向。我的答案说明了如何在DNS中进行操作。如果要重定向URL,则需要重写URL。与DNS无关。
pauska

这样做有什么特殊原因吗?我会做它周围的其他方法
nyuszika7h 2014年

EV SSL中的SAN。
flavian 2014年

Answers:


50

如果您已经在使用Route 53,则可以使用其专有的别名“ record”来解决此问题。使用标准DNS,您根本无法执行此操作,并且必须让网站发送301重定向。当然,您仍然需要发送301重定向或处理某些请求将不带www的事实(尽管出于SEO原因,您应该发送301重定向)。

可能最简单的方法是使用裸域名称设置S3存储桶,并将存储桶属性配置为从example.com重定向到www.example.com,然后在Route 53中为裸用户创建别名指向该S3存储桶的域名。

从评论

为了增强答案,以下是我们为使此工作有效的方法:

  • 设置存储桶-不管它的名字是什么,都必须公开。
  • 在存储桶中,单击属性,然后单击静态网站托管。单击将所有请求重定向到另一个主机名,然后输入要访问流量的站点。
  • 复制存储桶名称的终结点,然后转到Route53控制台中的托管区域,然后将带有别名No的CNAME添加到需要重定向的网址,并将存储桶终结点作为其值粘贴。

如果我错了,@ michael-hampton可以纠正我,但S3存储桶仅重定向无路径的裸域名,对吗?我为我的域正确添加了一个S3存储桶,但它仅重定向裸域,而不重定向任何具有路径的内容。我猜想mod重写是要走的路吗?
John Harding

@JohnHarding我不知道。我不再使用大多数Amazon AWS服务,包括S3。
迈克尔·汉普顿

2
为了增强答案,我们做了以下工作:-设置存储桶-名称无关紧要,并且必须允许其公开。-在存储桶中,单击属性,然后单击静态网站托管。单击将所有请求重定向到另一个主机名,然后输入要访问流量的站点。-复制存储桶名称的端点,并转到Route53控制台中的托管区域,然后将带有别名No的CNAME添加到需要重定向的网址,并将存储桶端点作为其值粘贴。
NathanQ

4
这仅适用于http请求,因为S3不支持https。请求https://example.com将失败。
哈里·金

要使您https://example.com重定向到https://www.example.com您,可悲的是,需要在指向静态桶的存储桶上设置另一个cloudfront,将其重定向到www.example.com。值得一提的是,您需要将apex域添加到CNAME您的Cloudfront配置中的字段中
tuhaj

6

对于DNS别名,您只需要在DNS中添加CNAME或A记录。在这里查看我的答案:如何在Route53中将www重定向到非www?

对于URL重写(如将客户端重定向到另一个地址),则需要在Web服务器上完成某种形式的URL重写逻辑。有几种方法可以执行此操作,这取决于您使用哪种类型的Web服务器。最受欢迎的是与Apache一起使用mod_rewrite。这个站点充满了mod_rewrite问题,一些搜索应该可以得到想要的。


恰好一个小时前,我在内部bind9 srv上使用了CNAME,但结果与url重写不同。在浏览器地址栏中输入此CNAME时,您将获得该URL的确切信息,它不会更改为CNAME指向的URL。我现在使用apache mod_rewrite,当没有www时发送301s。字首。
Kitet 2014年

3
您链接到的答案是发送www.domain.com给的domain.com。这个问题是相反的。您使用CNAMEA记录的解决方案是否可以发送domain.comwww.domain.com
卡尔·G

4

您可以使用s3存储桶来执行此操作。步骤粘贴如下:

步骤1.创建一个s3存储桶。

步骤2.将存储桶设置为带有重定向的静态网站托管。

步骤3.编辑非www域的AWS Route 53条目。

A – IPv4地址->别名是->别名目标(从下拉列表中选择s3存储桶终点)。

步骤4.保存记录集。


0

AWS Route53当前不提供支持将当前称为APEX记录(根域)的内容重定向到另一个域名,尽管它们正在使用解决方案。

我通过创建一个A(别名)记录来实现这一点,该记录将我的根域(devopsfolks.com)指向我的WP托管解决方案的IP地址...答案是肯定的,如果IP发生变化,那么您将需要更改别名。但是,提供商向我保证IP是固定的,除非他们需要执行某种灾难恢复并更改硬件,在这种情况下,他们将放在一起代理来执行重定向,同时给客户45天的时间来更改其映射。


5
A不表示别名,而是地址。而且,您可以使用上述S3存储桶方法轻松地通过Route 53进行重定向。
迈克尔·汉普顿

“他们正在研究解决方案”是否有任何更新?
汤姆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.