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

能否通过Google Cloud Load Balancer将公网流量路由至Cloud Run URL?配置遇阻求助

解决Cloud Run + Google Cloud Load Balancer路由404问题

以下是针对你遇到的The requested URL / was not found on this server报错的排查和修复步骤:

1. 确认Cloud Run服务本身的可用性

直接访问你的Cloud Run服务完整域名(比如xxx.a.run.app),测试根路径/是否能正常响应。如果Cloud Run本身没有处理/路径的逻辑,GCLB转发后自然会返回404——先确保服务端的端点配置没问题。

2. 修正公网NEG的Host头配置

Cloud Run基于Host头进行路由,GCLB转发请求时如果未携带正确的Cloud Run域名作为Host头,服务会无法识别请求并返回404:

  • 进入GCLB的后端服务配置页面,找到对应Cloud Run的后端服务
  • 添加请求头修改规则,将Host头设置为你的Cloud Run服务完整域名(比如my-service-123.a.run.app)

3. 检查URL映射的路径匹配规则

结合你提供的规则截图,需确保路径匹配逻辑和后端服务预期一致:

  • 若要将根路径/转发到Cloud Run,路径匹配规则建议设为/*(匹配所有子路径)或精确匹配/
  • 检查规则优先级,确保没有更高优先级的规则拦截/路径的请求
  • 确认URL映射中,根路径对应的后端确实是你配置的Cloud Run公网NEG

4. 验证转发配置的正确性

用gcloud命令查看当前配置,确认所有环节无误:

# 查看转发规则详情
gcloud compute forwarding-rules describe YOUR_FORWARDING_RULE_NAME --region=YOUR_REGION

# 查看URL映射配置
gcloud compute url-maps describe YOUR_URL_MAP_NAME

5. 多服务路由的最佳实践

若要通过单个DNS暴露多个Cloud Run服务和其他端点,建议用URL映射做路径拆分:

  • 例如配置/service-a/*对应Cloud Run服务A的NEG,/service-b/*对应服务B的NEG,/对应默认服务
  • 每个后端服务需单独配置对应的Host头,确保请求能被正确的Cloud Run服务处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:33:21