AWS S3 上传。根据政策无效:政策已过期

Posted

技术标签:

【中文标题】AWS S3 上传。根据政策无效:政策已过期【英文标题】:AWS S3 upload. Invalid according to Policy: Policy expired 【发布时间】:2016-03-07 02:17:12 【问题描述】:

我正在使用托管在新加坡 EC2 上的 Django 服务器。我还使用 S3 存储桶来保存通过 Django 管理面板上传的文件。要上传文件,我使用的是django-s3direct

当我在美国东部时间使用我的本地计算机上传文件时,它阻止我上传文件引用:

<Message>Invalid according to Policy: Policy expired.</Message>

我尝试过以下解决方案:Fine Uploader getting "Policy expired" message sending to S3 for some 和这里:https://github.com/FineUploader/fine-uploader/issues/1387

当我检查上传时间和 UTC 时间时,没有区别。如何修复此错误?

编辑:需要注意的是,上传可以在 localhost 上完美运行,但不能在 AWS EC2 上托管的服务器上运行。

【问题讨论】:

如果问题仍然存在..您检查过系统时钟设置吗? 您正在浏览的机器很可能有不准确的时钟。服务器无关紧要。 正如@RayNicholus 所说,这很可能是一个不准确的时钟。请注意,这里考虑的不是时区,而是时钟本身。 @RayNicholus 这个问题在多台机器上持续存在。 @Ghislaindj 这个问题在多台机器上持续存在。 【参考方案1】:

类似的问题是指时钟不准确。这应该是客户端而不是服务器的时钟。我建议编写代码来检查客户端的时间是否与已知且准确的时间服务器同步。如果时间不同步,可以向用户显示一条友好消息以更新系统时钟。如果时间同步,您可以继续上传。

【讨论】:

或者您可以使用Fine Uploader S3's clock drift feature 来解决客户端计算机上的不同步时钟问题。

以上是关于AWS S3 上传。根据政策无效:政策已过期的主要内容,如果未能解决你的问题,请参考以下文章

签名验证前发件人证书已过期

AWS S3 在 getSignedUrl 过期后优雅地处理 403

AWS IAM 政策问题

加载操作中的 BigQuery 错误:令牌无效 - 令牌无效:无状态令牌已过期

为特定文件设置 AWS S3 过期时间

微软移除WIN10密码过期政策Microsoft Removes Password-Expiration Policy in Windows 10