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

AWS API Gateway(HTTP API)其他阶段及自定义域名访问报404求助

AWS API Gateway HTTP API 阶段与自定义域名访问404问题排查

问题场景

我在AWS API Gateway创建了HTTP API,通过VPC Link和内部ALB集成:

  • 使用默认端点(https://<api-id>.execute-api.ap-southeast-2.amazonaws.com)和$default阶段URL(https://<api-id>.execute-api.ap-southeast-2.amazonaws.com/my/endpoint)访问完全正常
  • 创建dev阶段后,通过https://<api-id>.execute-api.ap-southeast-2.amazonaws.com/dev/my/endpoint访问返回HTTP 404
  • 配置自定义域名并设置路径映射(即使指向$default阶段)也无法正常访问

已尝试的操作:

  • 禁用默认端点,仅允许自定义域名访问
  • 删除$default阶段,仅保留dev阶段
  • 删除并重新添加自定义域名的路径映射

排查与解决方向

1. 阶段部署的路由关联问题

HTTP API的阶段不会自动关联所有路由,必须明确部署包含目标路由的API版本:

  • 进入API Gateway控制台,找到目标HTTP API,切换到「Deployments」标签
  • 检查dev阶段对应的部署是否包含/my/endpoint这条路由
  • 如果没有,重新创建包含该路由的部署,并关联到dev阶段

2. 路由的阶段访问控制

检查路由的访问权限配置,确认dev阶段被允许访问:

  • 进入路由详情页,查看「Stage Access」设置
  • 若设置了阶段访问限制,确保dev阶段在允许列表内

3. 自定义域名路径映射规则

HTTP API的路径映射需要注意前缀匹配逻辑:

  • 如果路径映射设置为/dev指向dev阶段,访问https://your-domain.com/dev/my/endpoint会转发到dev阶段的/my/endpoint
  • 如果设置为/指向$default阶段,要确保路由路径是/my/endpoint,不要带额外前缀
  • 确认自定义域名的API类型选择的是「HTTP API」,不要误选REST API

4. VPC Link与ALB日志排查

如果API Gateway配置没问题,排查后端ALB的访问日志:

  • 查看ALB是否收到了dev阶段或自定义域名的请求
  • 若ALB未收到请求,说明API Gateway阶段转发有问题;若收到但返回404,检查ALB目标组和路由规则是否匹配请求路径

5. 集成路径重写规则

如果集成配置了路径重写,要确认阶段前缀是否影响转发路径:

  • 进入集成详情页,查看「Path rewrite」配置
  • 例如,若重写规则为$request.path,dev阶段的/dev/my/endpoint会被转发到ALB的/dev/my/endpoint,如果ALB没有对应路由就会返回404,需要调整重写规则为$request.path.replace('/dev', '')这类逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:17:11