【发布时间】:2017-05-30 20:03:52
【问题描述】:
目标:我将我的 Node.js 应用程序部署为 AWS 上的 Elastic Beanstalk 实例。我必须将图像上传到 AWS S3。
问题:当我这样做时,它给了我'访问被拒绝'。虽然当我在本地执行(在将其推送到 AWS 之前)时它工作得非常好。
注意: 我正在为此使用 Multer-S3。
似乎是什么问题?我尝试了各种 S3 存储桶策略,但无济于事。
PS:这是请求的日志: 30986b8231ee88e94199988794871d76dedcf298fe4f11e435c164b13ae4e977 my-uploads [30/May/2017:10:31:07 +0000] 10.208.27.159 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 BC2B9DF9B31BB9F2 REST.PUT.OBJECT request-log2017-05-30-10-31-07-832319F788D6048E "PUT /my-uploads /request-log2017-05-30-10-31-07-832319F788D6048E HTTP/1.1" 200 - - 3912 48 21 "-" "aws-internal/3" - 30986b8231ee88e94199988794871d76dedcf298fe4f11e435c164b13ae4e977 my-uploads [30/May/2017:10:33:16 +0000] 10.170.228.198 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 4AAE9032DC461DDC REST.PUT.OBJECT request-log2017-05-30-10-33-16-88B9C33D271F6A96 "PUT /my-uploads /request-log2017-05-30-10-33-16-88B9C33D271F6A96 HTTP/1.1" 200 - - 347 60 8 "-" "aws-internal/3" - 30986b8231ee88e94199988794871d76dedcf298fe4f11e435c164b13ae4e977 my-uploads [30/May/2017:10:34:28 +0000] 10.237.175.206 3272ee65a908a7677109fedda345db8d9554ba26398b2ca10581de88777e2b61 0B0D3939958BB069 REST.PUT.OBJECT request-log2017-05-30-10-34-28-2C6EAF903C627BD9 "PUT /my-uploads /request-log2017-05-30-10-34-28-2C6EAF903C627BD9 HTTP/1.1" 200 - - 357 33 8 "-" "aws-internal/3" -
【问题讨论】:
-
提供更多信息
-
我正在使用多部分请求将数据发布到控制器。控制器依次使用 Multer-S3 (npmjs.com/package/multer-s3) 将该文件发布到我的 S3 存储桶中。现在的问题是它在 localhost 实例上运行良好,但是当它部署到 AWS EB 上时出现访问被拒绝错误。
-
@user_47 您必须为 EC2 实例附加 IAM 角色。有权访问 S3 的 IAM 角色
标签: node.js express amazon-s3 amazon-ec2 multer-s3