跳到主要内容

路径透传

路径透传是路由规则中的一个开关,用于控制 HTTP 网关转发请求给后端服务时,是否将触发路径一并传给后端。

工作原理

每条路由都配置了一个触发路径(如 /more)。当请求命中该路由后,网关会根据「路径透传」开关决定传给后端服务的路径:

开关状态后端服务(资源)收到的路径
关闭路径透传(默认)剥掉触发路径前缀,只传匹配后的路径
开启路径透传透传完整路径(保留触发路径)

举例说明,触发路径为 /more,用户访问 https://example.com/more/path

  • 关闭路径透传(默认):后端服务收到的路径为 /path(剥掉 /more 前缀)
  • 开启路径透传:后端服务收到的路径为 /more/path(完整路径)

适用场景

  • 后端自有子路径:后端服务(如云托管、HTTP 云函数)自身规划了多级路径时,开启透传让后端拿到完整路径自行分发
  • 统一后端服务:同一后端服务对接多个网关路由时,通过透传完整路径来区分请求来源
  • 剥前缀转发:后端只关心触发路径之后的业务路径时,保持默认关闭即可,后端无需感知网关路由前缀

使用方法

  1. 登录云开发控制台,进入 HTTP 网关管理页面
  2. 在路由匹配规则列表中,找到目标路由,点击「编辑」
  3. 找到「路径透传」开关,按需开启或关闭
  4. 保存后立即生效

注意事项

  • 路径透传默认关闭(enablePathTransmission: false),此时网关会剥掉触发路径前缀;开启后(true)透传完整路径
  • 路径透传生效后,会影响后端服务收到的 request.path 值,请同步检查后端业务代码中的路径处理逻辑
  • 若路由的目标资源开启了身份认证,路径透传规则同样适用,透传逻辑在鉴权之后执行
  • 静态托管资源路由默认由网关自动生成路径重写规则,如需开启路径透传,请先确认路由的路径重写配置,避免与自动生成的规则冲突