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

单HTTP API按路径路由访问AWS ECS多服务返回404排查

架构可行性结论

你设计的这套架构完全可行。单个API Gateway HTTP API原生支持基于请求路径的路由转发,可将不同路径的流量路由到多个独立的私有后端服务,配合VPC Link + Cloud Map实现私有子网ECS服务的暴露是官方推荐的标准方案。

404问题排查与修复

你当前配置后返回404,是三个典型配置疏漏导致的,按以下步骤修复即可:

1. 修正路由路径匹配规则

HTTP API默认采用精确路径匹配,仅配置/serviceA、/serviceB路由无法匹配该前缀下的多级子路径请求。
需要将两个路由的路径修改为贪婪匹配模式:

  • Service A绑定的路由:请求方法选ANY,路径填/serviceA/{proxy+}
  • Service B绑定的路由:请求方法选ANY,路径填/serviceB/{proxy+}
    {proxy+}参数会匹配对应前缀下的所有子路径,覆盖你需要的/serviceA/*、/serviceB/*场景。

2. 配置集成路径重写规则

这是最高发的问题点:配置前缀路由后,API Gateway默认会将包含/serviceA、/serviceB前缀的完整请求路径转发给后端,但你的Spring Boot服务的业务接口本身不带这两个前缀,比如后端实际存在的接口是/user/list,API Gateway转发的路径会变成/serviceA/user/list,后端找不到对应映射自然返回404。
修复方式是在每个服务对应的私有资源集成中配置路径覆盖:

  • 进入对应集成的「请求参数」配置页
  • 添加路径重写规则,将转发给后端的最终路径设置为/{proxy}
  • 对Service A、Service B的集成分别做上述配置
    配置后API Gateway会自动剔除路径前缀,仅将后缀的实际业务路径转发给对应后端服务。

3. 校验VPC Link连通性

你当前仅创建了关联Service A安全组的VPC Link,需要确认Service B的连通性配置:

  • 若Service B和Service A部署在相同私有子网、且安全组入站规则放通了VPC Link关联安全组的访问,现有VPC Link可直接复用,无需新建
  • 若Service B安全组未放通对应权限,需添加入站规则:允许VPC Link使用的安全组访问Service B的业务监听端口

额外提示:使用SRV类型Cloud Map服务发现记录时,API Gateway集成的端口配置需选择「从SRV记录自动获取」,不要手动指定固定端口,否则会出现后端连接失败问题。

验证流程

配置完成后按顺序验证即可:

  1. 访问/serviceA/actuator/health(需Spring Boot服务开启actuator依赖),确认Service A正常响应
  2. 访问/serviceB/actuator/health,确认Service B正常响应
  3. 调用两个服务下的多级业务路径,确认转发规则正常生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:06:25