如何排查CDN缓存未生效问题

边缘云CDN与加速技术服务知识库
问题描述

设置完节点缓存过期时间,预热完成后,请求依然未能命中节点缓存。

问题分析
  1. 设置有多条缓存配置,但不清楚其优先级。
  2. 配置了遵循源站的缓存策略,源站的 Cache-Control 字段为no-cache/no-store/private
解决方案
  1. 正确设置缓存优先级:CDN 缓存规则可以设置多条,检查cdn缓存优先级是否有重叠冲突情况。
  2. 正确设置缓存时间 :检查控制台的缓存时间是否过小。
  3. 检查缓存设置规则是否符合预期:
    • 检查 CDN 缓存键规则是否设置参数缓存规则导致的节点未缓存。
    • 检查 CDN 节点过期缓存设置是否设置了强制不缓存。
    • 检查 CDN 节点过期缓存设置遵循源站时,回源时源站的头部是否返回了no-cache/no-store/private
处理步骤
  1. 检查缓存设置优先(顶部优先):登录CDN 控制台中的 缓存控制 界面,默认遵循源站响应的 Cache-Control、Expires 头部进行节点缓存。同时可通过移动配置项的前后顺序来确定生效的优先级,列表顶部的优先级大于列表底部。

图片

  1. 检查缓存时间:登录CDN 控制台中的缓存控制 界面,下图所示如果缓存设置时间过小,可能会误以为缓存设置没有生效,确保符合业务缓存策略。

图片

  1. 检查缓存策略: 在缓存规则配置和节点缓存过期配置里对策略进行检查,确保符合预期。 如果设置了遵循源站,确保源站的 Cache-Control 字段不为no-cache/no-store/private
  2. 将需要缓存的资源重新预热一遍,等待预热完成后,再次请求即可。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

26
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论