【问题标题】:S3 presigned url fails when large files大文件时 S3 预签名 url 失败
【发布时间】:2020-11-27 20:21:54
【问题描述】:

我有一个适用于任何小文件的预签名。

当我尝试上传较大的文件时,我在帖子中收到 ACCESS DENIED,而正文中没有任何其他消息。

有趣的是,如果我继续尝试,在几次被拒绝的命中后它就会起作用。这是完全随机的......

当访问未被拒绝时,该条件通过在文件大于 100mb 时给出正确的错误返回和消息来起作用。但问题是帖子的大部分被拒绝...

这被拒绝发生在亚马逊地址的帖子中,所以我无法访问它的任何日志......

相同的 POST 和脚本:

确定文件:

访问被拒绝:

代码如下:

const S3 = new AWS.S3({
    signatureVersion: 'v4',
    region: region
});


const params = {
    Expires: linkExpiresSecs,
    Bucket: bucketName,
    Conditions: [
        ["content-length-range", 1, 104857600]
    ],
    Fields: {
        key: keyFile
    }
};


const response = await S3.createPresignedPost(params);

【问题讨论】:

  • 会不会是linkExpiresSecs的值太短了?

标签: amazon-web-services amazon-s3


【解决方案1】:

我认为链接的有效性在为更大的文件下载文件之前到期。 至于有时下载成功的行为,可能是由于网络情况,例如更少的拥堵。或者文件的某些部分以前被缓存过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2018-05-26
    • 2018-07-08
    • 2022-12-18
    • 1970-01-01
    • 2019-09-03
    • 2018-12-27
    相关资源
    最近更新 更多