通过Route53访问API Gateway返回403 Forbidden错误如何排查?
问题排查方向
1. API Gateway自定义域名配置校验
- 确认API Gateway控制台中已添加
xxx.mytest.com为自定义域名条目,仅证书包含该域名不足以让API Gateway受理对应Host头的请求,未配置的域名请求会在边缘层直接返回403,且不会写入CloudWatch执行日志。 - 检查
xxx.mytest.com对应的自定义域名映射规则,确认已绑定正确的API阶段,无路径匹配或访问阶段限制。
2. Host头传递校验
- 本地执行
curl -v https://xxx.mytest.com/<接口路径>,确认请求的Host头为xxx.mytest.com,且返回的Server头属于API Gateway,排除中间代理篡改Host头的情况。 - 排查你司内部DNS链路、反向代理、CDN层的配置,确认没有将
xxx.mytest.com的请求Host头强制修改为其他值。
3. 访问控制规则校验
- 若API Gateway绑定了AWS WAF,检查WAF规则是否存在拦截
xxx.mytest.com域名请求的规则,WAF拦截的请求不会上报到API Gateway的执行日志,需单独查看WAF日志排查。 - 检查API Gateway的资源策略、VPC ACL、安全组规则,确认没有限制
xxx.mytest.com来源的访问权限。 - 确认API没有配置基于Host头的校验规则(比如自定义Lambda授权器、请求校验模板里的Host头校验)。
4. DNS与证书配置校验
- 执行命令
openssl s_client -connect xxx.mytest.com:443 -servername xxx.mytest.com | openssl x509 -noout -text,检查证书的SAN字段是否同时包含xxx.mytest.com和xxx.backend.com,排除证书不匹配导致的403。 - 清除本地DNS缓存后重新测试,避免旧DNS记录导致请求发送到错误的服务节点。
内容的提问来源于stack exchange,提问作者Rachit M Garg
相关产品推荐
相关产品推荐

