2015-11-13 137 views
0

我已经在我的亚马逊环境中设置了此设置: CloudFront分配 - >在法兰克福的S3存储桶。 不幸的是,较新的地区只支持v4签名,这使我感到头痛。 我使用fine-uploader直接上传到cloudfront发行版,并且如果文件被分块(在这种情况下,fine-uploader使用put来上传文件),一切正常。 当文件大小小于块大小时,会出现问题。在这种情况下,优化上传器将方法更改为POST。由于邮政不支持(如在documentation)由cloudfront我无法上传文件。有没有办法覆盖不分块文件的上传方法?S3使用PUT代替POST

+0

你使用什么签名版本? –

+0

@ RayNicholus我是github的电子提示,显然我使用的是v4签名。 – Tiziano

+0

好的。对于不了解您情况的人员,将这些详细信息包含在问题中是一个好主意,因为这不适用于v2签名。 –

回答

0

我只是对Fine Uploader 5.4的预发布做了一些调整。如果您使用v4签名通过CDN 发送文件,则需要将S3存储桶的主机名也提供给Fine Uploader S3。这将确保标头使用存储桶的主机名,而不是CDN的主机名。这已经过快速测试和验证,并且应该可以与任何理智的CDN一起使用。 CloudFront在很大程度上是一团糟,所以CF没有保证。

由于我的更改,我不相信你会再使用Origin Access Identity,因此不会被限制为PUT请求。

我已更新S3 feature page in the develop branch上CDN部分的文档以供参考。 5.4.0计划于下周发布。

+1

你是我的英雄 – Tiziano

-1

您可以简单地降低S3最大块大小。请参阅该文档在这里:http://docs.aws.amazon.com/cli/latest/topic/s3-config.html#multipart-chunksize

multipart_chunksize

默认 - 8MB

一旦S3命令已决定使用多操作,文件被分成块。该配置选项指定块大小(也称为部件大小)应该是什么。该值可以使用与multipart_threshold相同的语义指定,即以整数形式表示的字节数或使用大小后缀。

+0

那么,不幸的是s3多部分最小尺寸是5Mb(即使我设置multipart_chunksize或任何其他选项我设置),因此对于文件小于所使用的尺寸方法是后 – Tiziano

+0

'带大小后缀的文件大小。您可以使用KB,MB,GB和TB。例如:10MB,1GB。请注意,S3对可用于多部分操作的有效值施加了限制。' – Nhor

+0

@nhor http://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html –