我正在使用AWS Cloudfront分发我的主页。
http://www.example.com,https://example.com,http://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.com到https://www.example.com无法连接。
你解决了同样的问题吗?
谢谢。
答案 0 :(得分:1)
根据我的经验,我打赌我可以猜到这里发生了什么。在CloudFront中的Origin配置中,您可以将Origin Protocol Policy
设置为使用HTTP
,HTTPS
或Match 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证书不符。