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

如何移除AWS API Gateway自定义域名映射传递给后端的路径前缀

可行解决方案(无需修改应用代码)

方案1:通过HTTP API集成的参数映射重写路径(最推荐)

你当前的路由规则是/{proxy+},API Gateway收到的完整路径是/v1/foo,只需在ALB集成的参数映射中添加路径重写规则即可去掉版本前缀:

  1. 进入APIv1/APIv2各自的HTTP API控制台,打开「集成」菜单,选中你绑定私有ALB的集成项
  2. 找到「参数映射」板块,点击「创建映射」
  3. 按如下规则填写:
    • 要修改的参数类型:路径
    • 操作:重写
    • 重写值:$substr($request.path, 3)

    说明:如果你的版本号长度固定为2位(v1/v2),用上述表达式即可;如果后续会有长度更长的版本号(如v10),可以用更通用的表达式:/$join('/', $slice($split($request.path, '/'), 2)),自动去掉第一层路径前缀

  4. 保存配置后重新部署$default阶段即可生效

方案2:在私有ALB的监听器规则中重写路径

如果不想修改API Gateway配置,可以在ALB层面处理路径前缀:

  1. 进入ALB的HTTPS监听器配置页,添加新的转发规则
  2. 规则匹配条件选择「路径」,分别匹配/v1/*和/v2/*
  3. 动作选择「转发到目标组」+「重写路径」,重写规则为/{1},即可自动去掉第一层路径前缀

方案3:调整API Gateway路由规则

可以把两个API的路由规则从/{proxy+}改为对应版本前缀的通配路由:

  • APIv1新增路由:/v1/{proxy+}
  • APIv2新增路由:/v2/{proxy+}
    此时proxy参数捕获的内容就是不带版本前缀的路径,再把参数映射的路径重写值改为/$request.path.proxy即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:45:06