You need to enable JavaScript to run this app. Azure CDN purge因浏览器长TTL本地缓存失效 如何配置全局强制刷新规则
优惠活动
大模型
产品
解决方案
定价
更多

Azure CDN purge因浏览器长TTL本地缓存失效 如何配置全局强制刷新规则

核心解决逻辑

你们遇到的问题根源是给浏览器返回的强制缓存max-age设置过长,浏览器未发起请求到CDN就直接读取本地缓存,CDN purge操作完全无法触达用户本地缓存,因此只需调整CDN返回给浏览器的缓存策略即可,无需修改Last-Modified/ETag。


具体Azure CDN规则配置

按照优先级从高到低配置以下2条规则即可:

  1. 入口文件规则(针对HTML等无哈希的核心入口资源)
    • 匹配条件:URL文件扩展名为html/htm
    • 操作:修改响应头Cache-Control,值为 public, max-age=0, must-revalidate, s-maxage=31536000
    • 参数说明:
      • s-maxage=31536000:CDN侧缓存1年,满足你们CDN缓存到下一次部署的需求
      • max-age=0:告知浏览器不做本地强制缓存,每次访问都需要向CDN发起请求验证资源是否更新
      • must-revalidate:强制浏览器验证资源有效性,禁止使用过期本地缓存
  2. 静态资源规则(针对JS/CSS/图片等可加哈希的资源)
    • 匹配条件:URL文件扩展名为js/css/png/jpg/gif/svg等静态资源后缀
    • 操作:修改响应头Cache-Control,值为 public, max-age=31536000, immutable
    • 注意:该规则需要配合前端构建流程给静态资源文件名添加内容哈希(例如app.7a2f9c.js),内容更新时哈希自动变化,不存在旧缓存冲突问题,无需每次部署purge这类资源。

部署后操作流程

每次部署后仅需要执行一次CDN purge操作,清除所有HTML入口文件的CDN缓存即可,用户下次访问时会自动拉取最新的入口文件,进而加载所有新的静态资源。


常见问题说明

你之前操作返回的报错:

{"ErrorMessage":"Invalid RulesEngineConfig: (Header \"Last-Modified\" is not allowed to be modified by the rules engine)."}

属于微软标准CDN的规则引擎原生限制,Last-Modified为系统保留响应头,确实不允许用户自定义修改,上述方案无需修改该头,完全适配标准CDN套餐的限制。


内容的提问来源于stack exchange,提问作者user670186

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 22:09:03