当我使用s3和cloudfront时,如何将example.com重定向到www.example

时间:2017-09-18 17:46:37

标签: amazon-web-services amazon-s3 amazon-cloudfront

我正在使用AWS Cloudfront分发我的主页。

http://www.example.comhttps://example.comhttp://example.com

必须将所有三个网址重定向到主网址https:// www.example.com。

问题是https://example.com域无法重定向。

我在s3上创建了一个www.example.com存储桶,并使用SSL证书(用户aws证书管理器)将其分发到cloudfront。我将cloudfront端点连接到route53使用的www.example.com网址。所以http://www.example.com => https://www.example.com重定向是成功的。

然后我在s3上创建了一个example.com存储桶并转移到属性>静态网站托管>重定向请求,然后设置目标存储桶= www.example.com和protocol = https

结果是http://example.com成功重定向到https://www.example.com,但https://example.comhttps://www.example.com无法连接。

你解决了同样的问题吗?

谢谢。

更新我的云端设置 enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

根据我的经验,我打赌我可以猜到这里发生了什么。在CloudFront中的Origin配置中,您可以将Origin Protocol Policy设置为使用HTTPHTTPSMatch Viewer连接到源。如果您将其设置为Match Viewer,它将尝试通过HTTPS连接到您的域的S3静态托管,这可能会有问题。相反,将其设置为HTTP然后事情可能会奏效。

此外,您可能希望从example.com发布版中拆分www.example.com发布内容,因为CloudFront通常会根据路径来区分与起源相关联的行为。

答案 1 :(得分:1)

以下是我将如何解决它,

SSL证书:

example.com
*.example.com

CloudFront分配1:

CNAME example.com 
Certificate: example.com
Viewer Protocol Policy -- Redirect HTTP to HTTPS
Origin and Behaviour --
   To S3 Bucket to redirect
   Redirect to https://www.example.com

CloudFront分配2:

CNAME www.example.com 
Certificate: www.example.com
Viewer Protocol Policy -- Redirect HTTP to HTTPS

另外,请注意* .example.com证书与example.com证书不符。