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

GCP负载均衡配置2个Cloud Storage SPA后端路径路由不生效咨询

配置不生效的核心原因
  • 第一个常见原因:主机头匹配不一致
    你当前的路由规则配置的Host匹配值是mysite.com,但实际访问的域名是www.mysite.com,二者不匹配导致所有www.mysite.com的请求都没有命中你配置的两条路径规则,直接走了默认后端BucketA,看起来就像路由规则完全不生效。
  • 第二个常见原因:GCS后端路径未重写
    即使主机头匹配正确,负载均衡默认会把完整请求路径原样转发给后端GCS存储桶。比如你访问www.mysite.com/app/index.html时,转发给BucketB的路径是/app/index.html,但你的BucketB是SPA应用,所有静态资源都存在根目录下,GCS找不到/app/前缀的路径就会返回404,看起来也像路由规则失效。
  • 第三个常见原因:SPA路由适配未配置
    React SPA如果使用browser模式的前端路由,直接访问子路径时GCS会因为找不到对应文件返回404,需要配置存储桶的自定义错误页指向index.html。
不需要使用Traffic Director

Traffic Director是GCP的服务网格流量管理组件,面向的是计算类资源(虚拟机、容器、无服务函数)的服务间流量治理,完全不适用于静态存储桶的路由场景,你使用标准的全球外部HTTP(S)负载均衡的原生功能就可以实现需求。

正确配置步骤
  1. 修正主机头匹配
    把两条路由规则的Host匹配项修改为同时包含mysite.com和www.mysite.com,如果该负载均衡只服务这一个域名也可以直接填*,避免匹配遗漏。
  2. 给BucketB的路由规则添加URL重写
    找到匹配/app、/app/*路径的路由规则,开启URL重写功能,配置路径前缀重写为/,这样转发到BucketB的请求会自动去掉/app前缀,直接匹配BucketB根目录下的静态资源。
  3. 配置存储桶错误页适配SPA
    分别将BucketA、BucketB的404自定义错误页设置为index.html,确保前端路由路径可以正常返回SPA入口文件。
  4. (可选)清理CDN缓存
    如果你开启了负载均衡关联的CDN服务,配置完成后清理对应路径的缓存,避免旧的错误响应影响测试结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:57:01