2014-09-12 110 views

回答

0

CloudFront的PUT功能仅仅是传递到原点 - 在本例中是S3。它旨在让您能够将CloudFront放置在您的网站前方以提高下载速度,但仍允许用户将表单数据等发布到您的原始服务器。你想要做的不是真正的主要用例。

如果您尝试做什么,您的移动应用程序将连接到云端服务器,该服务器可能与用户的地理位置稍微接近,但云端服务器仍然需要将数据传递到S3服务。 S3的吞吐量可能远高于用户可用的移动带宽。因此,无论您是上传到S3还是CloudFront,您的带宽限制都可能会受到移动网络的限制。

如果您确实想要使用此选项,则需要在CloudFront分配中将Authorization标头列入白名单,以便S3允许上传请求。

但是你走这条路线(这又相信会是很少的回报了很多工作)之前,你有没有:

  1. 你确保你要上传到所分配的S3桶在最接近你的用户的地理区域?
  2. 您是否尝试过使用S3 MultiPart Upload
0

它可以通过类似的技术实现到cloudfront,称为“S3 Accelerate”。如果存储区的区域远离上传计算机,则可以通过启用存储桶上的S3 Accelerate来加快上传速度,然后上传将直接通过离您最近的亚马逊服务器,然后继续从该处将文件发送到存储区的实际区域最佳路线。 您可以通过上传到“bucketname.s3-accelerate.amazonaws.com”来使用它。你可以阅读关于它here