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

负载均衡器(load balancer)路径规则配置:子路径转发失效求助

解决方案:Google Cloud Load Balancer 路径转发保留子路径

针对你遇到的长路径无法携带子路径转发的问题,核心是要在URL映射(URL Map)中配置前缀匹配规则+路径重写,具体配置步骤如下:

1. 准备后端服务

确保你已经为两个端口分别创建了独立的后端服务:

  • backend-3000:关联运行middleware_1的VM实例组,指定目标端口为3000
  • backend-4000:关联运行middleware_2的VM实例组,指定目标端口为4000

2. 配置URL映射规则

在URL Map中添加以下4条路径规则(注意规则优先级:精确匹配 > 前缀匹配):

规则1:处理短路径 /1

  • 匹配类型:精确匹配
  • 路径:/1
  • 关联后端服务:backend-3000

规则2:处理 /1/* 前缀的长路径

  • 匹配类型:前缀匹配
  • 路径:/1/*
  • 路径重写:$1
  • 关联后端服务:backend-3000

规则3:处理短路径 /2

  • 匹配类型:精确匹配
  • 路径:/2
  • 关联后端服务:backend-4000

规则4:处理 /2/* 前缀的长路径

  • 匹配类型:前缀匹配
  • 路径:/2/*
  • 路径重写:$1
  • 关联后端服务:backend-4000

3. 配置逻辑说明

  • 前缀匹配/1/*会捕获所有以/1/开头的请求,比如/1/v1/test
  • 路径重写$1会提取通配符*对应的部分(即v1/test),转发到后端服务时会将路径替换为/$1,最终后端收到的请求路径就是/v1/test
  • 精确匹配规则用于处理不带子路径的短请求/1和/2,避免这些请求被前缀匹配规则拦截后重写出错

常见错误排查

你之前尝试的/pclearing/*或/pclearing/无效,大概率是两个原因:

  1. 没有配置路径重写:LB默认会将完整路径(包括前缀/pclearing/)转发到后端,而你需要去掉前缀保留子路径
  2. 规则优先级错误:如果先配置了前缀匹配再配置精确匹配,会导致短路径请求被前缀匹配规则错误处理

后续添加App Engine实例时,只需在URL Map中新增对应的路径规则,指定关联App Engine后端服务即可,无需修改现有VM的规则配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:30:32