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资源失效。
相关推荐
智绘前端2 天前
GitHub 登录功能开发 SOP
人工智能·typescript·github·reactjs
GISer_Jing10 天前
AI驱动营销:业务技术栈实战(From AIGC,待总结)
前端·人工智能·aigc·reactjs
我即将远走丶或许也能高飞10 天前
reduxjs/toolkit 的学习使用
前端·javascript·学习·reactjs
GISer_Jing12 天前
2026前端技术潜在主流前沿方向
前端·人工智能·reactjs
可问春风_ren14 天前
前端文件上传详细解析
前端·ecmascript·reactjs·js
DEMO派18 天前
CSS优先级规则以及如何提升优先级方案详解
前端·javascript·css·vue.js·reactjs·html5·angular.js
我的golang之路果然有问题21 天前
实习中遇到的 CORS 同源策略自己的理解分析
前端·javascript·vue·reactjs·同源策略·cors
Sun_小杰杰哇24 天前
Dayjs常用操作使用
开发语言·前端·javascript·typescript·vue·reactjs·anti-design-vue
web小白成长日记1 个月前
前端三个月速成,是否靠谱?
前端·react.js·前端框架·html·reactjs·webkit·scss
前端不太难2 个月前
RN 与原生通信时出现性能瓶颈(Bridge 卡顿)怎么办?
前端·前端框架·reactjs