我正在使用knox模块https://github.com/LearnBoost/knox为S3上的文件创建签名URL,这是我以前用PHP SDK完成的。
我可以从我的存储桶中删除文件,但是当我为具有私有ACL的文件尝试生成的URL时,我收到了SignatureDoesNotMatch错误。
代码看起来像这样
var knox = require('knox');
var s3Client = knox.createClient({
key: '*****',
secret: '*****',
bucket: '*****'
});
function getS3Url(filename) {
var expires = new Date();
expires.setMinutes(expires.getMinutes() + 30);
return s3Client.signedUrl(filename, expires);
}
console.log(getS3Url('file.txt'));
我做错了什么?
答案 0 :(得分:0)
原来我错过了文件名前面的'/',现在是签名匹配。