You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过SST控制台向API Gateway发送POST请求返回403禁止错误

排查SST框架下API路由403 Forbidden及Lambda未触发问题

核心排查方向及操作步骤

1. 确认API Gateway认证配置

  • 检查SST路由定义中是否误添加了authorizer配置,若无需认证,确保路由未启用任何认证规则(SST默认路由无认证)。一旦开启认证但未正确配置Cognito/IAM等认证源,会直接返回403。
  • 查看API Gateway的资源策略,确认是否存在限制请求来源、账户的规则,比如仅允许特定IP访问的策略会拦截不符合条件的请求。

2. 验证Lambda触发权限

  • 检查Lambda执行角色的信任关系,确保包含API Gateway服务主体:apigateway.amazonaws.com,允许其调用Lambda函数。
  • 确认角色权限策略中包含lambda:InvokeFunction权限,且作用域覆盖当前Lambda函数。

3. 核对路由配置正确性

  • 检查路由的HTTP方法是否与请求一致,比如定义的是GET路由但发送POST请求,部分场景下API Gateway会返回403而非405。
  • 确认路由路径拼写完全匹配,比如定义/api/orders却请求/api/order,路径不匹配也可能触发权限类错误。

4. 排查VPC网络限制(若Lambda配置了VPC)

  • 检查Lambda所在安全组是否允许API Gateway的流量进入,或是否配置了NAT网关/API Gateway VPC端点,确保API Gateway能正常触发VPC内的Lambda。
  • 查看网络ACL规则,确认没有阻止API Gateway与Lambda之间的通信。

5. 开启API Gateway访问日志细化排查

  • 在SST配置中开启API Gateway的访问日志,开启后可在CloudWatch中看到请求被拦截的具体原因,比如认证失败、资源不存在、权限不足等,这比仅看Lambda日志更能定位403根源。

快速验证手段

  • 临时创建一个无认证的极简测试路由(如返回固定字符串的GET路由),通过SST控制台请求。若测试路由正常,说明原路由配置有问题;若仍返回403,问题出在API Gateway全局配置或账户级权限。
  • 用AWS CLI直接调用Lambda:aws lambda invoke --function-name <你的Lambda函数名> output.json,若能正常执行返回结果,说明Lambda本身无问题,故障点在API Gateway到Lambda的触发链路。

内容的提问来源于stack exchange,提问作者Wet_Bones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:45:30