Firebase Hosting部署后CDN缓存未清除,修改firebase.json头部不生效如何解决
问题原因
Firebase Hosting的自动CDN缓存失效逻辑仅在检测到静态资源文件内容发生变更时触发,如果你仅修改firebase.json中的响应头配置、未修改任何静态资源本身的内容,CDN会默认复用原有缓存条目,不会主动拉取新的头配置,这属于文档未明确说明的边界场景。
解决方案
- 主动触发全量CDN缓存清除
执行官方提供的purge命令即可强制清除所有CDN节点的已有缓存,所有新的用户请求都会返回携带最新响应头的资源:
命令执行后全球CDN节点同步需要1~5分钟,同步完成后配置即可生效。firebase hosting:purge - 避免后续同类问题的优化方案
如果你需要频繁修改响应头配置,可以在静态资源引用路径后添加自定义版本参数(例如service-worker.js?v=2),或者在构建流程中为静态资源添加内容哈希后缀,只要资源请求路径发生变化,CDN就会自动生成新的缓存条目,不会复用旧的头配置。 - 验证注意事项
测试配置是否生效时,优先使用无本地缓存的无痕窗口访问,或者直接通过curl发起请求验证,避免本地浏览器缓存、运营商中间缓存干扰判断。
内容的提问来源于stack exchange,提问作者Myk Willis
相关产品推荐
相关产品推荐

