首页 文章

CloudFront支持的网站被重定向到s3存储桶网址

提问于
浏览
0

我有一个静态托管启用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 回答

  • 1

    这里的问题是错误配置的副作用 . 此特定行为可能会在数据桶创建的几分钟或几小时内消失,但基本问题将无法解决 .

    在CloudFront后面配置启用静态网站托管的存储桶时,您不希望从存储桶列表中选择存储桶名称 .

    在“创建分发”页面的“原始设置”部分中,对于“源域名”,键入存储桶的Amazon S3静态网站托管 endpoints . 例如,example.com.s3-website-us-east-1.amazonaws.com . 注意请务必指定静态网站托管 endpoints ,而不是桶的名称 . http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-cloudfront-walkthrough.html#create-distribution

    从列表中选择 example.com.s3.amazonaws.com 条目,而不是键入存储桶的网站托管 endpoints ,将是此行为的最可能解释 .

    S3更新全局REST endpoints 层次结构 *.s3.amazonaws.com 的DNS,并在创建存储桶后的短时间内向存储区的右侧区域发送请求,并且CloudFront似乎依赖于此将请求发送到正确的位置 . 在初始更新完成之前,S3将返回重定向,CloudFront将该重定向返回给浏览器...但所有这些都表明您没有使用静态网站托管 endpoints 作为原始域名 .

相关问题