对于在CloudFront之后的EC2实例上托管的网站,如何将非www流量重定向到www?

use*_*535 3 redirect amazon-web-services amazon-cloudfront amazon-route53

我将网站托管在CloudFront后面的单个EC2实例上,并且需要将所有非www流量重定向到www。

通过SO上的其他Q / A,我能够在Route53上配置A记录,以将流量从example.com重定向到www.example.com。但是,这仅适用于HTTP流量,不适用于https流量。

如何获取裸(非www)URL 的https流量以重定向到我的规范URL https://www.example.com

我知道已经问过类似的问题,但是我没有看到相同配置的问题(大多数是针对S3存储桶中托管的网站或从www重定向到非www的网站)。

当前的URL处理情况

https://www.example.com - Canonical URL for the site, handled by CloudFront
http://www.example.com - CloudFront redirects to https://www.example.com
https://example.com - Unreachable!!!
http://example.com - Route53 redirects to https://www.example.com via S3 bucket
Run Code Online (Sandbox Code Playgroud)

其他详情

CloudFront分配使用AWS生成的证书,该证书涵盖以下域:

*.example.com
example.com
Run Code Online (Sandbox Code Playgroud)

分发中列出的备用域名(CNAME)是:

www.example.com
example.com
Run Code Online (Sandbox Code Playgroud)

Route53具有以下A记录:

www.example.com -> CloudFront distribution
example.com -> S3 bucket, configured to redirect to www.example.com
Run Code Online (Sandbox Code Playgroud)

Mic*_*bot 6

就像我在一个稍有不同的问题的答案中所描述的那样,解决方案是在一个空存储桶前面为要重定向的域名变体创建第二个CloudFront分配。

配置存储桶以进行重定向,并且当您配置第二个CloudFront分配以指向该重定向存储桶时,请确保您输入存储桶的网站托管端点-不要从“原始域名”下拉列表中选择存储桶清单。

example.com从现有分发的“备用域名”设置中删除,然后在新的分发服务器上对其进行配置。

您可以在两个发行版上使用相同的ACM证书。

指向example.comDNS中的新CloudFront发行版。