是否可以刷新过期的URL(用于AWS存储桶中的文件)

时间:2019-10-01 16:00:39

标签: url amazon-s3

我在AWS Bucket上有文件。该文件应该可以在url上访问,但是这个特定的url已经过期(有效期为两周),现在我需要一些地方使该文件在url上可以访问。

尝试访问URL时,我收到以下错误消息:

this XML file does not appear to have any style information associated with it. The document tree is shown below "

并显示带有错误代码的

AccessDenied和消息Request has expired

1 个答案:

答案 0 :(得分:0)

完全不可能将S3预签名URL的生存期延长到其原始到期时间戳之外。

回顾两种可能的签名算法背后的逻辑,Signature Version 2(已过时,可以通过查询字符串中存在 class House { constructor() { this.kittens = [] } addKittens(numOfKittens) { for (let i = 0; i < numOfKittens; i++) { const newKitten = new Kitten(`Kitten ${i}`) this.kittens.push(newKitten) } } } 来标识)和Signature Version 4(已标识) (在查询字符串中用AWSAccessKeyId来表示),这很清楚为什么如此-服务未保留签名URL的副本,并且expiration参数是HMAC-SHA签名过程的输入之一,因此可以有效防止篡改。

您需要生成或获取一个新的预签名URL。


奖励琐事:当预签名URL过期时,S3甚至无需费心验证签名是否正确或用于生成签名的凭据是否有效-请求立即被拒绝。