【问题标题】:AWS Lambda function REST API end point - 403 errorAWS Lambda 函数 REST API 端点 - 403 错误
【发布时间】:2016-01-11 14:02:10
【问题描述】:

我有一个作为 REST API 公开的 AWS Lambda 函数。

当通过 aws lambda 控制台上的测试按钮调用它时,它可以工作。

当它通过在线 REST 客户端调用时,我收到 403 错误。它是根据要求创建的 - 无需身份验证(打开)。

我缺少什么配置?

【问题讨论】:

  • 您能否查看 CloudWatch 日志并提供更多详细信息? CloudWatch 记录 Lambda 函数的每个步骤,这应该有助于调试。
  • Matt> 我检查了...但找不到与基于 REST 的调用相对应的任何日志,这仅仅是因为调用本身由于 403(禁止)而失败。还有其他想法吗?
  • 大概是通过 API 网关访问 lambda。当您通过 API 网关控制台中的“测试”按钮调用时会发生什么? docs.aws.amazon.com/apigateway/latest/developerguide/…
  • 您解决了吗?我遇到了奇怪的行为,其中: lambda 代理集成通过 APIG 控制台正常工作;我有两个 GET 路径,/some/path?query=param/some/path/:id。来自 Postman 客户端,前者有效,但后者返回您描述的 403。
  • 怎么做?它是根据要求创建的 - 无需身份验证(开放)?如何将其创建为无身份验证?

标签: amazon-web-services aws-lambda


【解决方案1】:

据说 Lambda 是通过 AWS API 网关公开的。 您在新的“无身份验证”API Gateway 资源上获得 403 的原因之一是您尚未部署更改。

在 API Gateway 控制台中,单击 Actions 下拉菜单并选择 Deploy API

你应该很高兴。

【讨论】:

  • 觉得这里有。
  • 动作中没有部署 API
【解决方案2】:

也许您正在向错误的端点发送请求。

我通过向https://example.com/locate 发送 POST 请求得到 403 错误响应

但是,一旦我添加了阶段 http://example.com/dev/locate 并将更改部署到此 API,它就可以正常工作,返回 200 响应。

希望对您有所帮助。

【讨论】:

    【解决方案3】:

    如果您从不同的域访问它,您必须首先确保在 AWS API Gateway 上启用了 CORS,因为它是引发 403 错误的 API 网关而不是 lambda 函数。您可以为方法或完整资源启用 CORS。选择 Actions,然后选择 Enable CORS 。如果不存在,这会将 OPTIONS 方法添加到资源中。

    在 API 网关上启用 CORS 将确保所有响应标头的 Access-Control-Allow-Origin 值都设置为“*”(即允许所有来源,但您可以指定特定来源,例如 http://localhost)。

    始终确保您调用的是正确的 URL。您可以从 API Gateway 的 Stage 部分或从 Lambda 函数获取 url(如果您已将 Lambda 函数设置为集成端点)

    您可以看到方法和集成响应中设置的新标头。

    【讨论】:

      【解决方案4】:

      如果您使用 AWS 的授权,则 AWS 计算签名。

      如果您传递 get 或 post 参数,则必须按字母顺序发送。

      原因是当您传递令牌计算签名 UI 或前端计算您添加的基础顺序时,AWS 会按照字母顺序重新计算签名以匹配签名。

      尝试按字母顺序发送参数。

      帖子 = { 'id': 23, '标签':'35353 }

      【讨论】:

        【解决方案5】:

        如果您要将日志写入 cloudwatch,请确保已配置 CloudWatch 日志角色 ARN。它可以从 API --> 设置访问。

        【讨论】:

          猜你喜欢
          • 2019-05-29
          • 1970-01-01
          • 1970-01-01
          • 2020-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-09
          • 2017-04-07
          相关资源
          最近更新 更多