0
我正在使用IAM角色從我的EC2實例訪問S3。但在我的應用程序中,我創建了一個用於下載文件的簽名URL。但是,當用戶嘗試下載文件時,它顯示訪問被拒絕錯誤。通過簽名URL下載時拒絕訪問
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
//key=file path
var params = {Bucket: bucket, Key: prefix+'/'+key, Expires: 240}
var url = s3.getSignedUrl('getObject', params)
console.log(req.cookies.s, 'got', url) // expires in 60 seconds
res.redirect(url)
嘗試與'AWS S3 Bucket Policy'結合公開您的s3對象。參考:http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html –
你能展示一些代碼嗎?簽名的URL是處理這個問題的正確方法。我強烈建議不要向公衆開放你的存儲桶,除非你確定這是你想要的。 – stdunbar
上傳的文件必須設置爲公共。否則,你的應用程序應該有一些acl設置上傳文件公開 – Ayoub