我有一个静态托管启用S3存储桶 . 还有一个由该存储桶驱动的 Cloud 端分发 .
我在“mywebsite.com”的 Cloud 端分发版中添加了一个CNAME条目
当我在浏览器中加载"mywebsite.com"时,它会重定向到 http://my-bucket.s3-us-west-2.amazonaws.com/index.html
为什么会发生这种重定向?如何阻止该主机名被重写?
Edit: here's the setup details after some suggested changes:
-
cloudfront - alternate domain :mysite.com
-
cloudfront - alternate domain :www.mysite.com
-
cloudfront - origin :my-bucket.s3-website-us-west-2.amazonaws.com
-
route53 - hosted zone :mysite.com
-
route53 - A record :12345.cloudfront.net
-
route53 - CNAME :www.mysite.com - > mysite.com
and the effects of this setup:
-
载入中:
mysite.com
- > 301重定向至my-bucket.s3-website-us-west-2.amazonaws.com
-
正在加载:
www.mysite.com
- > 301重定向到my-bucket.s3-website-us-west-2.amazonaws.com
-
载入中:
my-bucket.s3-website-us-west-2.amazonaws.com
- > 200成功 -
正在加载:
d1h3yk3zemxpnb.cloudfront.net
- > 301重定向到my-bucket.s3-website-us-west-2.amazonaws.com
-
正在加载:
http://my-bucket.s3.amazonaws.com/
- >权限错误
1 回答
这里的问题是错误配置的副作用 . 此特定行为可能会在数据桶创建的几分钟或几小时内消失,但基本问题将无法解决 .
在CloudFront后面配置启用静态网站托管的存储桶时,您不希望从存储桶列表中选择存储桶名称 .
从列表中选择
example.com.s3.amazonaws.com
条目,而不是键入存储桶的网站托管 endpoints ,将是此行为的最可能解释 .S3更新全局REST endpoints 层次结构
*.s3.amazonaws.com
的DNS,并在创建存储桶后的短时间内向存储区的右侧区域发送请求,并且CloudFront似乎依赖于此将请求发送到正确的位置 . 在初始更新完成之前,S3将返回重定向,CloudFront将该重定向返回给浏览器...但所有这些都表明您没有使用静态网站托管 endpoints 作为原始域名 .