2017-05-26 131 views
0

我有一个静态托管启用S3存储桶。还有一个由该桶提供动力的云端分布。CloudFront驱动的网站被重定向到S3桶地址

我添加了一个CNAME进入到CloudFront的分布“mywebsite.com”

,当我去加载“mywebsite.com”在我的浏览器,它重定向到http://my-bucket.s3-us-west-2.amazonaws.com/index.html

为什么这个重定向发生了吗?如何阻止该主机名被重写?

编辑:这里的一些建议的修改后的设置细节:

  • CloudFront的 - 备用域名:mysite.com
  • CloudFront的 - 备用域名 :www.mysite.com
  • CloudFront的 - 起源:my-bucket.s3-website-us-west-2.amazonaws.com
  • route53 - 托管区:mysite.com
  • route53 - A记录:12345.cloudfront.net
  • route53 - CNAME:www.mysite.com - > mysite.com

和这种设置的效果:

  • 装载: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/ - >权限错误
+0

等一天,看看它是否还在发生。我听说有些重定向需要一段时间才能更新。 –

+0

您是否在“替代域名”中的云端添加域名? – Stephen

+0

查看上面的更新 – Kristian

回答

1

这里的问题是一个错误配置的一个副作用。此特定行为可能会在创建存储桶几分钟或几小时内消失,但潜在问题无法解决。

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

在“创建分发”页面的“源设置”部分中,为“源域名”输入您的存储桶的Amazon S3静态网站托管端点。例如,example.com.s3-website-us-east-1.amazonaws.com

注意

一定要指定静态网站托管端点,而不是桶的名称。

http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-cloudfront-walkthrough.html#create-distribution

从列表中选择的example.com.s3.amazonaws.com入口,而不是水桶的网站托管端点打字,会是这种行为的最可能的解释。

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