我有一个 API 网关,带有自定义域名下的 Websocket 和与 Lambda 函数集成的多个路由。我试图向 API 网关发出 https 请求,并让它通过网关中的 $default 路由到达 lambda 函数,但我不断收到 403 Forbidden 错误。
根据此文档,API 网关应将具有与任何已定义路由不匹配的路由的请求传递到 $default 路由,但这仅适用于 http 集成而不是 lambda 集成吗?
我尝试使用 https://{api-id}.execute-api.{region}.amazonaws.com 和 https://{api-id}.execute-api.{region}.amazonaws.com/ https 请求的 {stage} url 而不是我的自定义域,但这不起作用。
网关使用 $request.body.action 进行路由选择,我也尝试在正文中添加操作,但这也没有帮助。
https://{api-id}.execute-api.{region}.amazonaws.com/{stage}
中的变量是否正确传递?您能否先尝试对端点 URL 进行硬编码,看看它是否有效?如果仍然失败,则可能是 IAM/权限问题,您可以尝试打开所有请求日志记录和 X 射线跟踪以找出问题所在
https://docs.aws.amazon.com/xray/latest/devguide/xray-services-apigateway.html
https://repost.aws/knowledge-center/api-gateway-cloudwatch-logs