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

外部负载均衡路径规则与Cloud Run服务配合失效问题排查

解决Cloud Run负载均衡路径路由404问题

你的问题核心在于路径匹配规则覆盖不全,部分场景未被匹配,同时可能存在路径转发前缀未处理的情况,以下是具体修复方案:

1. 修正路径匹配规则

当前配置的prefixMatch: /api/*仅会匹配带斜杠后缀的路径(如/api/xxx),但无法匹配/api这个精确路径,这就是直接访问example.com/api报404的主要原因。

将匹配规则修改为覆盖所有以/api开头的路径:

defaultService: projects/example-proj/global/backendServices/fun1
name: matcher1
routeRules:
- matchRules:
  - prefixMatch: /api
  priority: 1
  routeAction:
    weightedBackendServices:
    - backendService: projects/example-proj/global/backendServices/fun2
      weight: 100

prefixMatch: /api会匹配/api和/api/xxx两类路径,覆盖你的访问场景。

2. 路径重写(关键可选配置)

如果第二个Cloud Run服务(fun2)的接口是基于根路径(如/而非/api),负载均衡会把完整路径(如/api/users)转发给服务,而服务中没有对应路径就会触发404。此时需要添加路径重写,剥离前缀:

defaultService: projects/example-proj/global/backendServices/fun1
name: matcher1
routeRules:
- matchRules:
  - prefixMatch: /api
  priority: 1
  routeAction:
    urlRewrite:
      pathPrefixRewrite: "/"
    weightedBackendServices:
    - backendService: projects/example-proj/global/backendServices/fun2
      weight: 100

配置后,/api/users这类请求会被重写为/users转发给fun2,适配服务的路径结构。

3. 验证优先级配置

GCP负载均衡中priority数值越小优先级越高,默认服务未显式设置优先级时为最低优先级(数值最大),你当前设置的priority:1不会被默认服务覆盖,无需调整。

4. 检查服务访问权限

确认第二个Cloud Run服务(fun2)已配置允许负载均衡后端服务访问,未设置限制访问的权限策略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:02:42