AWS correctClockSkew 选项如何与 preSignedUrls 一起使用?我有一个托管多个文件的 S3 服务器,我试图在浏览器中使用一些 javascript 下载这些文件。浏览器和服务器的时间不同步约 5 秒。如果我从浏览器执行以下操作,我会收到一条错误消息,指出链接已过期(几乎在我生成它之后立即):
s3.getSignedUrl('getObject', {
Bucket: bucketName,
Key: objectName,
Expires: 5
},
function(err, url) {
if (err) {
Alertify.dialog.alert('Could not get signed url: ' + err);
} else {
window.location = url;
}
});
我已经查看了设置“correctClockSkew”配置选项,但查看它的描述似乎并不能解决这个问题:
是否应用时钟偏差校正并重试由于客户端时钟偏差而失败的请求
如果对 getSignedUrl 的请求由于时钟偏差问题而失败,这似乎会重试失败的请求,但在这种情况下,时钟偏差小到足以通过 getSignedUrl 请求,但又大到足以导致 URL 立即过期.