节点缓存过期配置(新)

最后更新时间:2021-03-29 18:00:46

    配置场景

    腾讯云 CDN 缓存资源为触发式,当用户发起针对某资源的访问,若请求触达的 CDN 节点未缓存该资源,则回用户源站拉取资源,成功拉取到资源(2XX状态码)后,在节点进行缓存并返回给用户。

    您无法直接对 CDN 节点上缓存的资源进行管理,若担心源站资源可能发生变化而 CDN 节点仍缓存旧资源返回给用户,可通过配置节点缓存规则来进行一定程度的控制。

    配置指南

    查看配置

    登录 CDN 控制台,在左侧菜单栏选择【域名管理】,单击域名操作列的【管理】,进入域名配置页面,切换Tab至【缓存配置】,即可找到【节点缓存过期配置】。

    接入加速域名时,根据不同的业务类型,CDN会添加默认的节点缓存过期规则,您可按需进行变更:

    • 若选择静态加速业务类型,常规动态文件(如 php、jsp、asp、aspx)默认不缓存,其他所有文件默认遵循源站。
    • 若选择下载加速、流媒体点播加速业务类型,默认全部文件缓存30天。

    新增规则

    支持指定文件类型/文件夹/全路径文件配置节点缓存行为:

    • 遵循源站:遵循源站的 Cache-Control 头部。
    • 若源站对应的 HTTP Response Header 中存在 Cache-Control 字段,则:
      若 Cache-Control 字段为 max-age,CDN 节点缓存资源的时间按照 max-age 值。
      若 Cache-Control 字段为 no-cache/no-store/private,CDN 节点不缓存资源。
    • 若源站对应的 HTTP Response Header 中无 Cache-Control 字段,则:CDN 节点不缓存资源。

    注: 部分平台此时会有以下默认策略:首次请求会回源,CDN 节点缓存该资源,当再次请求且命中节点缓存时,CDN 会默认添加 Cache-Control: max-age=600 的头部。

    • 缓存:配置资源在CDN节点的缓存时间。
    • 强制缓存:选择为“缓存”时,支持增加配置是否强制缓存,即是否忽略源站的 Cache-Control: no-cache/no-store/private。默认为“否”。

    注:若“强制缓存”选择“是”,则 CDN 节点缓存资源的时间按照此处配置的时间。
      若“强制缓存”选择“否”且源站的 Cache-Control 字段为 no-cache/no-store/private,即使配置了缓存时间,CDN 节点也不缓存资源。

    • 不缓存:CDN 节点不缓存资源。

    配置约束

    • 单个域名至多可添加20条缓存规则。
    • 多条规则支持调整优先级:底部优先级大于顶部。

    注:无 max-age 功能升级中,暂不支持,请等待后续发布。若已配置该条规则,建议您删除规则或修改为全部文件规则。

    • 单条文件类型/文件夹/全路径文件规则中,至多可输入100组内容,不同内容之间用“;”分隔。例如:文件类型 - jpg;png。

    注意:

    存量若为节点缓存过期配置(旧)(即基础模式),按高级模式配置提交后将全面升级,不可恢复至原基础模式。

    平台默认策略

    若您未配置任何规则或请求未命中配置的规则时,默认遵循以下平台策略:

    • 当用户请求您某一业务资源时,若源站对应的 HTTP Response Header 中存在 Cache-Control 字段,则遵循该 Cache-Control 。
    • 若源站对应的 HTTP Response Header 中无 Cache-Control 字段,则:CDN 节点默认对该资源缓存600s。

    配置示例

    若加速域名www.test.com的【节点缓存过期配置】如下:

    则实际缓存情况如下:

    • www.test.com/abc.jpg 资源节点缓存时间为10天,即使源站的 Cache-Control 字段为 no-cache/no-store/private。
    • www.test.com/def.php 资源不会缓存至节点。