CDN缓存404、403状态码

可以参考一下:浏览器缓存和 CDN 在前端的落地

事故记录:

  1. 前端发版时存在新旧两个容器,在资源替换的间隙,用户请求到的肯定是新容器的html文件,但是根据新容器的html向新静态资源发起请求,此时旧容器还没有完全被替换,在部分边缘节点中仍然存在旧容器,向新资源发起的请求到了旧容器内自然就失败了,返回404 not found。
    但是问题是:请求失败后静态资源返回404却被CDN缓存了,导致用户一直刷新,向新资源请求,哪怕节点已经被新容器替换了,CDN还是以为之前已经请求成功了,不会回源,一直返回缓存的404。

解决办法

  1. 采用灰度上线(根本解决)
  2. CDN清除缓存。(快速解决)
  3. 先上线静态资源,再把HTML上线。以及 针对非正常的状态码(HTTP Status 200)应该设置不缓存。
  4. 针对本地缓存的静态资源通过完全更换打包资源名称,或者更新nextjs的静态资源前缀,修改为一个OSS链接,然后将静态资源手动部署到OSS上,新上线之后的新版本就直接走OSS链接,之前的404资源失效。
相关推荐
光影少年6 天前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
luback7 天前
前端把页面用PDF导出
前端·pdf·reactjs·html2canvas
剑神一笑9 天前
从字符串到时间线:实现一个 Cron 表达式解析器
javascript·typescript·reactjs
胡志辉的博客17 天前
本地明明好好的,怎么一上线就跨域了?把同源策略、前后端分工和 CORS 一次讲明白
前端·javascript·vue.js·reactjs·nextjs·跨域
三声三视22 天前
React 19 正式发布!17 个新特性深度解析与迁移指南(2026 实战版)
前端·javascript·reactjs·react
Misnice25 天前
shadcn如何使用
前端·reactjs
可问春风_ren1 个月前
HTML零基础进阶教程:解锁表单、多媒体与语义化实战
前端·git·html·ecmascript·reactjs·js
划雨悦潭之赋1 个月前
pnpm+turbo迅速搭建monorepo工程
前端·javascript·前端框架·reactjs