2015-11-13 82 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 –