无服务器框架 AWS 403 仅限域的禁止错误

Serverless Framework AWS 403 Forbidden Error with Domain Only

我正在为一个项目进行无服务器设置,运行 遇到 st运行ge 错误。在我不得不删除旧证书并制作新证书之前,它工作正常。

简而言之,我正在按照 serverless-stack.com 上的教程系列进行参考,当 运行 执行 apig-test 命令时,出现以下错误。

{ status: 403,
  statusText: 'Forbidden',
  data: { message: 'Forbidden' } }

这让我尖叫政策错误。所以我去检查我的政策以确保它允许执行 AuthRole 并且确实如此。我在角色下的 IAM 部分验证了这一点,并查看了我在设置 Cognito 时创建的服务 Auth_Role。

我不想在这里提供过多的信息,但如果有人对下一步该去哪里有任何想法,我将不胜感激,我会在此处提供您想查看的任何详细信息。

我要注意的一件事是,如果我 运行 带有直接 URL 的 apig-test 命令到 Lambda 函数而不是我的域,它工作得很好.

这证明我的代码没有问题,但更多的是关于我如何设置域的策略设置。

我 运行 sls create_domain 相应地,我在 Route53 和 API 网关中看到条目,他们在许多小时前完成了 40 分钟。自从我删除了另一个证书后,我就使用正确的证书对其进行了保险。

我的自定义域过去一直有效 多亏了我找到的一个插件和这里的教程 (https://serverless.com/blog/serverless-api-gateway-domain/),直到最近当我意识到我需要向我的 SSL 证书添加更多域时,它停止工作了。

所以我假设政策错误是在这附近的某个地方,但不确定在哪里看?

好的,我找到了答案。在自定义域下的 API 网关中,有一个名为 Base Path Mappings 的部分,必须将其设置为您的功能之一,默认路径为 /(或者不输入任何内容路径),然后是您的 lambda 服务的目的地。这似乎对我有用。