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

Cloud Run服务未接收Firebase Hosting路由请求的排查求助

诊断Firebase Hosting路由请求无法送达Cloud Run的方案

1. 验证重写规则的匹配逻辑

检查/api/**的glob匹配是否覆盖实际请求路径/api/export-video,可以尝试添加更具体的规则测试:

{
  "hosting": {
    "rewrites": [
      {
        "source": "/api/export-video",
        "run": {
          "serviceId": "vvvvv",
          "region": "vvvvv"
        }
      },
      {
        "source": "/api/**",
        "run": {
          "serviceId": "vvvvv",
          "region": "vvvvv"
        }
      }
    ]
  }
}

部署后重新触发请求,观察Cloud Run是否有实例活动。

2. 查看Firebase Hosting请求日志

在Firebase控制台的Hosting > 日志中,定位/api/export-video的请求记录,确认:

  • 请求是否被标记为rewrite类型
  • 是否存在路由阶段的错误提示(如服务不存在、权限校验失败等)

3. 直接测试Cloud Run服务可访问性

跳过Firebase Hosting,直接用Cloud Run的公共URL发送POST请求(注意去掉/api前缀,因为重写会将/api/export-video映射到Cloud Run的/export-video路径):

curl -X POST https://<your-cloud-run-service-url>/export-video -d "test-payload"

如果直接访问也无响应,说明问题出在Cloud Run服务本身(如端口配置错误、应用未监听请求);若直接访问正常,则聚焦Firebase Hosting的路由配置。

4. 确认资源归属与跨项目权限

确保Firebase项目和Cloud Run服务属于同一个Google Cloud项目。如果是跨项目路由,需给Firebase Hosting的服务账号配置目标Cloud Run服务的roles/run.invoker权限。

5. 检查请求方法与CORS配置

  • 确认Cloud Run应用代码正确处理POST请求,未限制请求方法
  • 若客户端是浏览器发起请求,在firebase.json中添加CORS头配置:
{
  "hosting": {
    "headers": [
      {
        "source": "/api/**",
        "headers": [
          {
            "key": "Access-Control-Allow-Origin",
            "value": "*"
          },
          {
            "key": "Access-Control-Allow-Methods",
            "value": "POST, OPTIONS"
          }
        ]
      }
    ]
  }
}

6. 排查缓存干扰

若之前的错误响应被缓存,会导致后续请求直接返回错误。添加缓存禁用规则到firebase.json:

{
  "hosting": {
    "headers": [
      {
        "source": "/api/**",
        "headers": [
          {
            "key": "Cache-Control",
            "value": "no-cache, no-store, must-revalidate"
          }
        ]
      }
    ]
  }
}

部署后清除浏览器缓存再测试。

7. 核对Cloud Run路径匹配逻辑

Firebase Hosting重写时,会把/api/**匹配到的路径部分追加到Cloud Run服务URL后,比如/api/export-video会转发到Cloud Run的/export-video。确认Cloud Run应用监听的路径与该转发路径一致,避免因路径不匹配导致无日志输出。


内容的提问来源于stack exchange,提问作者See-M Records

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 03:48:29