【问题标题】:AWS S3 behaviour - Localhost v/s Elastic Beanstalk?AWS S3 行为 - 本地主机 v/s Elastic Beanstalk?
【发布时间】:2021-06-13 01:31:40
【问题描述】:

我构建了一个网络应用程序并在本地进行了测试,一切似乎都运行良好。然后,我尝试将应用程序部署到 AWS Elastic Beanstalk。这是我开始遇到以下行为的时候-

  1. 重新部署后,我可以打开一次登录页面。
  2. 当我尝试离开着陆页时,总是收到504 Bad Gateway 错误。
  3. 如果没有重新部署,我无法打开登录页面,也就是说,我也开始在登录页面上收到 504 错误。

我已经为此苦苦挣扎了一段时间,我对根本原因的最佳猜测是,当我尝试导航时,它与我的应用程序对 AWS S3 的 HeadObjectCommand + GetObjectCommand 调用有关到其他页面。在我的 EB 日志中,我可以看到这些调用似乎返回了 403 Forbidden 错误。这很奇怪,因为我在 Elastic Beanstalk 中设置了环境变量并重新检查了大约 10 次。当我在本地环境中测试应用程序时,这些调用工作非常顺利。

此外,我不确定为什么一旦我在其他页面上收到 403 错误,我什至无法打开目标网页。

我不知道如何进一步调查这个问题,以及我能做些什么来让它发挥作用。

我错过了什么?我怎样才能找出问题所在并努力解决它?我很乐意及时提供可能需要的更多详细信息。

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 amazon-elastic-beanstalk amazon-elb


    【解决方案1】:

    好的,我想通了。

    This article from AWS 得到了我想要的答案。

    基本上,我的错误在于认为我的应用程序将通过我创建并授予 AdministratorAccess 的 IAM 用户访问 AWS S3。相反,Elastic Beanstalk 有自己的 IAM 配置文件,需要根据您的存储桶/对象策略授予必要的权限,然后才能访问这些文件。根据我收集的信息,此过程根本不使用我创建的 IAM 用户配置文件。哦,好吧。

    【讨论】:

      猜你喜欢
      • 2020-05-15
      • 2020-09-29
      • 2020-10-12
      • 1970-01-01
      • 2017-10-09
      • 2015-09-15
      • 2016-06-25
      • 2017-05-22
      • 2020-01-01
      相关资源
      最近更新 更多