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立即过期。