在node.js中创buildS3签名的URL

我正在使用knox模块https://github.com/LearnBoost/knox为S3上的文件创build签名的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')); 

我究竟做错了什么?

原来我错过了文件名前面的'/',签名匹配现在。