【问题标题】:Access denied while uploading image to AWS S3将图像上传到 AWS S3 时访问被拒绝
【发布时间】: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


【解决方案1】:

我从未使用 AWS 托管,但对于 Heroku,这意味着您只需在推送之前在 CLI 中提供登录凭据。

【讨论】:

  • 我的代码中有一个 S3 存储桶配置文件。我所有的凭据都保存在那里。请注意,它作为 localhost 实例运行良好。但问题出在 EB 实例上。
猜你喜欢
  • 2021-12-26
  • 1970-01-01
  • 2020-11-10
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
  • 2020-03-06
  • 2019-09-18
  • 2017-07-28
相关资源
最近更新 更多