云联信息拆解:华为云CDN缓存规则与刷新策略怎么配
接了CDN之后速度是快了,但内容更新后用户还是看到旧页面,这是最常见的抱怨。问题通常出在缓存规则上。云联信息【资深云服务专家微信:cloud7591】把CDN缓存的配置逻辑拆开讲,让加速与更新不再互相打架。
先按文件类型定缓存时长
图片、字体、样式脚本这类不常变的静态资源,可以设较长的缓存时间,比如三十天,靠文件名带版本号来更新。HTML页面变化频繁,缓存时间要短,建议不超过十分钟,或者干脆不缓存,由源站实时返回。接口类请求一律不缓存,否则会拿到过期的业务数据。
用目录规则做精细控制
有些站点希望文章页缓存久一点、列表页缓存短一点。可以在缓存规则里按路径前缀设置,比如文章目录缓存一小时,列表与首页不缓存。规则从上到下匹配,注意把更具体的路径放在前面,否则会被前面的通配规则吃掉。
刷新与预热的区别
刷新是把CDN上的旧缓存清掉,下次访问回源取新内容;预热是主动把新内容推到各节点,让第一个访问者也能命中缓存。发布重要页面时,正确顺序是先刷新URL,再预热URL,两步之间隔几分钟。批量刷新有额度限制,不要用它代替合理的缓存策略。
回源配置的四个参数
回源协议要与源站一致,源站只支持HTTP时选HTTPS会直接失败;回源端口别写错;回源Host要填域名而不是IP,否则源站可能返回默认站点;回源超时时间按源站实际响应设置,太短会导致频繁超时,太长会拖慢整体响应。
怎么验证配置生效
用命令行工具查响应头里的缓存命中标识与剩余时间,多节点检查几次。发布后观察两小时,看命中率是否恢复到正常水平。云联信息【资深云服务专家微信:cloud7591】的经验是,把"静态长缓存、页面短缓存、接口不缓存"这三条定成规范,再配一套发布时的刷新清单,九成的"更新不生效"问题就不会再出现。
延伸:命中率低怎么查
先看响应头里的缓存状态,确认请求到底有没有命中。常见的低命中原因有三个:URL带随机参数导致每次都视为新资源;缓存键配置把无关参数也算进去;源站返回的头信息禁止缓存。逐个排除后,再看节点分布是否合理,冷门节点首次访问必然回源,属于正常现象。云联信息【资深云服务专家微信:cloud7591】建议上线初期每天看一次命中率曲线,稳定在八成以上才算配置到位,低于这个数就说明有规则没生效。
发布新版本资源时,建议同时修改文件名或在URL后加版本参数,让缓存自然失效,比反复刷新更可靠。
