You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Azure CDN+Blob托管静态网站,无缓存规则配置选项求助

解决Azure CDN找不到缓存规则的问题,实现静态网站更新后立即生效

嗨,我之前也碰到过一模一样的问题!看不到缓存规则选项大概率是因为你的Azure CDN配置文件(Profile)的SKU类型不同——不同SKU的功能入口和管理界面差异很大,这就是你当前界面和预期界面不一样的核心原因。

1. 先确认你的CDN Profile SKU类型

根据不同的SKU,缓存规则的入口位置完全不同:

  • 如果你的CDN是 Standard Verizon 或 Premium Verizon:
    缓存规则不在Azure门户的当前配置页面里。你需要回到CDN Profile的主页面,点击顶部的「管理」按钮——这会打开Verizon专属的管理控制台,在里面就能找到你截图里预期的缓存规则配置界面。
  • 如果是 Standard Microsoft 或 Standard Akamai:
    直接在CDN端点(Endpoint)的左侧菜单里找「缓存」选项,点进去就能看到「缓存规则」的入口,在这里可以直接配置自定义TTL和缓存行为。

2. 实现代码更新后立即生效的最佳实践

要让静态网站更新后用户立刻看到新内容,只靠设置TTL不是最优解,结合以下方法效果更好:

方法一:配置合理的缓存规则

  • 临时测试场景:可以在缓存规则里设置「缓存行为」为「忽略缓存」,或者把TTL设为0秒,强制CDN每次都回源拉取最新内容。但长期这么做会严重影响CDN性能,不推荐生产环境使用。
  • 生产环境推荐:针对HTML文件设置短TTL(比如5分钟),针对JS/CSS/图片等静态资源设置较长TTL,但给资源文件名加版本哈希(比如app.abc123.js)——更新内容时只需要修改文件名,CDN会自动拉取新文件,旧缓存不会干扰用户。

方法二:更新内容后手动清除CDN缓存

不管TTL设置多少,更新内容后都可以直接清除CDN缓存,让用户立即获取新内容:

  • 进入CDN端点页面,点击顶部的「清除」按钮
  • 在弹出的窗口里输入/*(清除所有缓存),或者指定具体路径,确认操作即可

注意:检查Blob Storage的缓存控制头

如果你的Blob Storage静态网站里的文件本身设置了Cache-Control响应头,Azure CDN会优先遵循这个头的设置。所以要确保Blob的缓存头不会覆盖你在CDN里的规则,或者在CDN规则里选择「覆盖原点缓存控制」选项,强制使用CDN的TTL设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:47:59