Cloud Run对接Firebase Hosting运行firebase serve报404错误排查
问题原因
- Cloud Run服务部署区域和Firebase默认查找区域不匹配:你没有在
firebase.json的重写规则中指定Cloud Run服务的部署区域,Firebase本地调试时默认会去us-central1区域查找服务,如果你的服务实际部署在其他区域就会触发404错误。 - 项目或服务配置不匹配:本地Firebase CLI绑定的项目ID和部署Cloud Run的项目不一致,或者配置的
serviceId和实际Cloud Run服务名称存在拼写、大小写差异,也会导致无法找到对应资源。 - 服务同步延迟:刚部署完Cloud Run服务就立刻启动本地调试,服务元数据还未在Firebase平台完成同步,会出现临时的404报错。
解决方法
- 先确认Cloud Run服务的实际信息:登录Google Cloud控制台进入Cloud Run页面,确认目标服务的名称是否为
flask-fire,同时记下服务对应的部署区域。 - 修正
firebase.json配置:在重写规则的run字段中补充region参数,填入你实际的服务部署区域,示例配置如下:
{ "hosting": { "public": "static", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "rewrites": [{ "source": "**", "run": { "serviceId": "flask-fire", "region": "你的实际服务部署区域,例如us-east1" } }] } }
- 确认本地项目绑定正确:运行
firebase projects:list查看当前激活的项目是否为cjcflaskapp10192021,如果不是,执行firebase use cjcflaskapp10192021切换到对应项目。 - 如果是刚部署完Cloud Run服务,等待3-5分钟后再执行
./node_modules/.bin/firebase serve启动本地调试即可。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

