Firebase动态托管修改云函数区域后要求身份验证如何解决
问题根因
Firebase Hosting 的重写规则默认指向 us-central1 区域的云函数,你修改函数部署区域后,原有未指定区域的重写规则无法匹配到新区域的函数,导致请求无法触达目标函数,触发身份验证重定向。
解决步骤
- 更新
firebase.json中的rewrites配置,明确指定云函数的部署区域
原有配置示例:
{ "hosting": { "rewrites": [ { "source": "**", "function": "serveContent" } ] } }
修改为带区域声明的对象格式:
{ "hosting": { "rewrites": [ { "source": "**", "function": { "name": "serveContent", "region": "europe-west1" } } ] } }
- 重新部署资源,可按顺序执行以下命令,也可直接执行全量部署命令
firebase deploy:
# 先部署云函数 firebase deploy --only functions # 再部署 Hosting 配置 firebase deploy --only hosting
- 验证访问效果
部署完成后先清除浏览器缓存(避免旧的302临时重定向被缓存影响验证结果),再访问原服务地址确认服务正常。
如果仍有异常,可直接访问云函数直连地址https://europe-west1-<你的项目ID>.cloudfunctions.net/serveContent确认函数本身可公开访问,排除函数权限配置问题。
内容的提问来源于stack exchange,提问作者vstollen
相关产品推荐
相关产品推荐

