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

Amazon web services 当我使用s3和cloudfront时,如何将example.com重定向到www.example,amazon-web-services,amazon-s3,amazon-cloudfront,Amazon Web Services,Amazon S3,Amazon Cloudfront,我正在使用AWS Cloudfront分发我的主页 , 所有三个url都必须重定向到主url https://www.example.com 问题是域无法重定向 我在s3上创建了一个www.example.com bucket,并使用SSL证书(用户aws证书管理器)将其分发到cloudfront。我将cloudfront端点连接到route53使用的www.example.com url。因此=>重定向是成功的 然后我在s3上创建了一个example.com bucket,并移动到属性>静态网

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

,

所有三个url都必须重定向到主url https://www.example.com

问题是域无法重定向

我在s3上创建了一个www.example.com bucket,并使用SSL证书(用户aws证书管理器)将其分发到cloudfront。我将cloudfront端点连接到route53使用的www.example.com url。因此=>重定向是成功的

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

结果是成功重定向到,但连接失败

你解决了同样的问题吗

多谢各位

更新我的cloudfront设置

根据我的经验,我敢打赌我能猜出这里发生了什么。在CloudFront中的源站配置上,您可以设置
源站协议策略
,以使用
HTTP
HTTPS
匹配查看器
连接到源站。如果将其设置为
Match Viewer
,它将尝试通过HTTPS连接到域的S3静态主机,这可能会有问题。相反,将其设置为
HTTP
,然后事情可能会正常进行


此外,您可能希望将
example.com
发行版与
www.example.com
发行版分开,因为CloudFront通常根据路径区分与来源相关的行为。

以下是我将如何解决此问题的方法

SSL证书:

example.com
*.example.com
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
CNAME www.example.com 
Certificate: www.example.com
Viewer Protocol Policy -- Redirect HTTP to HTTPS
CloudFront发行版1:

example.com
*.example.com
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
CNAME www.example.com 
Certificate: www.example.com
Viewer Protocol Policy -- Redirect HTTP to HTTPS
云端分布2:

example.com
*.example.com
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
CNAME www.example.com 
Certificate: www.example.com
Viewer Protocol Policy -- Redirect HTTP to HTTPS

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

您好,我不理解将其设置为http。这是云端设置问题吗?我在我的问题中添加了一幅云面背景图片。我将http重定向设置为https是否有问题?如果您在“源代码”选项卡下查看,并选择与
example.com
关联的源代码,请查看
源代码协议策略。S3静态托管仅支持
HTTP
连接,因此如果将其设置为
HTTPS
Match Viewer
,则会导致问题。此外,对于重定向源,请确保使用S3静态网站托管域,它看起来类似于
example.com.S3-Website-[region]。amazonaws.com
,否则,您绕过了重定向规则。我更新了第二个有问题的图像,我在cloudfront的“起源”选项卡中添加了example.com,并将example.com路由53值更改为www.example.com cloudfront endpoint,但。。。当我访问
http://example.com
cloudfront返回错误错误请求,我将ssl证书更改为
*.dgdr.co.kr
,虽然它不会强制重定向到www,但可以作为单个源部署。谢谢你的回答。