如何配置aws s3存储桶接受Heroku上的签名网址?

Tor*_*ith 6 permissions acl heroku amazon-s3 amazon-web-services

我使用Node.js从aws s3使用来自(aws-sdk)模块的putObject获取签名的url.当我在本地运行我的服务器时,上传到S3没有问题.当我将代码部署到heroku并选择要上传的文件时,我在chrome控制台中收到以下错误:

https://torhuw-hrns.s3.amazonaws.com/5f522890-0283-11e6-a696-b1fc6f56c785-T ... 4&Signature = P7ybw4%2B2qqNRNKTZbc%2FMWLhPn1o%3D&x-amz-acl = public-read-write无法加载资源:服务器响应状态为403(禁止)

我正在使用Node.js(aws-sdk)s3getSignedUrl方法来获取签名并将其发送到前端以将我的文件上传到我的s3存储桶.

我遵循的教程是Node.js中的Direct to S3 File Uploads

Mat*_*son 1

仔细检查您的 S3 存储桶的权限和 CORS 配置。您需要确保策略允许您的存储桶上的“s3:PutObject”,并且需要确保 CORSRule 允许 PUT/POST 并允许您的应用程序的域。

要调试这些东西,您可以考虑暂时放宽所有权限以“完全开放”,并检查它在完全不受限制时是否有效。