节点缓存过期配置可以设置源站资源在 CDN 节点的缓存过期时间,以调整源站资源在 CDN 节点缓存更新频率。您可以根据业务需求,按目录、文件后缀名、文件全路径配置资源的缓存过期时间。
功能介绍
CDN 会根据节点缓存过期配置的缓存过期时间,判断 CDN 节点的缓存资源是否过期。
- 若用户访问的资源在 CDN 节点的缓存未过期,CDN 节点直接将缓存返回给用户;
- 若用户访问的资源在 CDN 节点未缓存该资源或缓存已过期,则 CDN 节点会回源站获取最新资源并缓存到 CDN 节点,同时返回给用户。
若源站资源更新后,需要立刻更新 CDN 节点的缓存,可使用 缓存刷新 功能主动更新 CDN 节点未过期的缓存,使 CDN 节点缓存与源站资源保持一致。
注意事项
- 缓存过期时间会影响回源频率,建议根据实际业务需求设置资源缓存时长。缓存过期时间过短,会导致 CDN 频繁回源,增加源站的带宽;缓存过期时间过长,会导致 CDN 缓存更新慢,影响用户获取最新的资源。
- CDN 节点会按照 腾讯云 CDN 缓存规则及优先级 缓存资源。但 CDN 节点的缓存资源也可能因请求频率过低,在未达到缓存过期时间就提前从节点中删除。
- 建议您源站资源更新前后使用不同的名称,如以版本号(img-v1.jpg、img-v2.jpg)的方式命名内容不同的资源,避免源站变更资源的内容后,CDN 节点因缓存未过期仍使用旧的资源返回给用户。
- 若您仍使用旧版本(基础模式)的节点缓存过期配置,建议您按高级模式配置提交升级为最新版的节点缓存过期配置,以支持更多功能。需注意升级高级模式后不可恢复至原基础模式。旧版本的节点缓存过期配置文档查看:节点缓存过期配置 (旧)
- 源站可通过设置响应头 Cache-Control 控制 CDN 节点的缓存过期时间(缓存选项为:遵循源站),同时 CDN 节点将 Cache-Control 响应头传递给用户,实现控制浏览器的缓存时间。若需要由 CDN 节点设置浏览器的缓存时间,可通过 浏览器缓存过期配置 修改 CDN 节点响应给用户的 Cache-Control 头部。
配置说明
操作流程
- 登录 CDN 控制台;
- 单击左侧菜单内的域名管理,进入域名管理列表;
- 选择需要配置的域名,单击管理进入域名配置页面;
- 单击缓存配置,切换至缓存配置标签页,在标签页中,即可查看节点缓存过期配置;
- 单击新增规则,可进入新增规则页面,新增节点缓存过期配置。
配置项 |
说明 |
类型 |
支持对全部文件、文件后缀、文件目录、全路径文件、首页进行配置: 全部文件:指定全部文件设置规则,默认规则。 文件后缀:指定文件的后缀设置规则。 文件目录:指定文件的目录设置规则。 全路径文件:指定文件的完整路径设置规则。 首页:指定域名根目录设置规则。 |
内容 |
根据选择不同的文件类型,内容输入约束: 类型为全部文件时:固定为全部文件。 类型为文件后缀时:支持输入文件后缀名,多个以 “;” 为间隔。例如,jpg;png;css。 类型为文件目录时:支持输入文件目录,不能以 “/” 结尾,多个以 “;” 分隔。例如,/test;/a/b/c。 类型为全路径文件时:支持输入文件完整路径,多个以 “;” 分隔。例如,/index.html;/test/.jpg。 |
缓存选项 |
支持按照遵循源站、缓存、不缓存规则配置: 遵循源站:按照源站响应头 Cache-Control 头部,设置 CDN 节点缓存时间,支持设置启发式缓存。 缓存:自定义设置 CDN 节点的缓存时间,支持设置强制缓存。 不缓存:设置 CDN 节点 不缓存资源。
|
腾讯云 CDN 缓存规则及优先级
缓存选项为:遵循源站
CDN 节点将遵循源站响应头 Cache-Control 头部设置缓存时间。
- 源站响应头 Cache-Control 字段为 max-age,按照 max-age 值设置 CDN 节点缓存时间,如 Cache-Control:max-age=300,则缓存时间为 300 秒;
- 源站响应头 Cache-Control 字段为 no-cache 或 no-store 或 private,CDN 节点不缓存资源;
- 源站响应头没有 Cache-Control 或 Expires 时,按照启发式缓存状态设置缓存规则,详情如下:
- 关闭启发式缓存,当源站响应头没有:Cache-Control 或 Expires 时,则缓存时间为 600 秒。
- 开启启发式缓存,当源站响应头没有:Cache-Control 或 Expires 时,按照如下规则设置启发式缓存时间:
i. 默认配置:如果源站响应头存在 Last-Modified,则缓存时间=(当前时间 - Last-Modified)* 0.1,如果源站响应头不存在 Last-Modified,则默认缓存时间为 600 秒。
ii. 自定义策略:可自定义设置启发式缓存的时间。
缓存选项为:缓存
自定义设置 CDN 节点的缓存时间。
- 关闭强制缓存:
- 源站响应头 Cache-Control 字段为 max-age 或 源站响应头没有 Cache-Control ,按照自定义 CDN 节点缓存规则缓存。
- 源站响应头 Cache-Control 字段为 no-cache 或 no-store 或 private,CDN 节点不缓存资源
- 开启强制缓存:忽略源站响应头Cache-Control ,按照自定义 CDN 节点缓存规则缓存。
缓存选项为:不缓存
设置 CDN 节点 不缓存资源。该资源的每个用户请求,CDN 节点都将直接回源获取资源响应给用户。
多条缓存规则优先级
若同时配置多条缓存规则时,底部规则优先级大于顶部规则。可通过单击调整优先级,拖动缓存规则顺序调整优先级。
推荐配置
不常更新的静态文件(例如,图片类型、应用下载类型等),建议设置30天。
频繁更新的静态文件(例如,js、css等),建议根据业务的更新频率设置缓存时间。
动态文件(例如,php、jsp、asp、aspx等动态文件),需设置不缓存。
其他涉及 站点登入(例如,wordpress 后台登入目录 /wp-admin)或 接口查询 等需要和源站直接交互的请求,需设置不缓存,否则可能导致访问错误。
配置约束
单个域名至多可添加100条缓存规则。
多条缓存规则优先级:底部优先级大于顶部。
单条文件后缀/文件目录/全路径文件规则中,至多可输入100组内容,不同内容之间用“;”分隔。例如:文件后缀 jpg;png。
若您未配置任何规则或请求未命中配置的规则时,CDN 节点将遵循源站响应头 Cache-Control 头部设置缓存时间;若源站响应头没有 Cache-Control 字段,CDN 节点默认对该资源缓存600s。
CDN 节点仅缓存 GET、HEAD 请求类型的请求内容,其余 POST、OPTIONS 等请求类型的请求内容,CDN 节点不缓存。
配置示例
示例1
原缓存规则为:php;jsp;asp;aspx文件后缀的资源不缓存,其余全部文件缓存30天。
现需要增加:jpg、png文件后缀的资源缓存10天,且需要忽略源站响应头 Cache-Control ,即开启强制缓存;其余全部文件的缓存规则修改为遵循源站。
单击新增规则,类型为文件后缀,内容为jpg;png,缓存选项为缓存,缓存时间为10天,强制缓存为是,单击确定。
选择全部文件的缓存规则,单击修改,修改缓存选项为遵循源站,单击确定。
调整完成后的缓存规则为:
jpg、png 文件后缀的资源缓存10天,强制缓存;
php;jsp;asp;aspx 文件后缀的资源不缓存;
其余全部文件缓存30天。
则实际缓存情况如下:
www.test.com/abc.jpg
资源节点缓存时间为10天,即使源站响应头 Cache-Control 字段为 no-cache 或 no-store 或 private。
www.test.com/def.php
资源不会缓存至节点;
示例2
使用 WordPress 建站的节点缓存过期配置建议:
- 后台登入地址/wp-admin目录下的资源,需要设置不缓存,否则会导致后台登入相关资源被缓存,登录出错。如果有其他接口相关的资源,同样需要设置不缓存。
- php;jsp;asp;aspx 动态文件后缀的资源,需要设置不缓存(CDN 默认缓存规则);
- html;js;css 后缀文件更新较频繁,需要根据更新频率设置缓存时间。建议设置缓存时间7天,不设置强制缓存;
- 其余全部文件缓存30天(CDN 默认缓存规则)。
在 CDN 默认缓存规则的基础下,按如下操作新增规则:
- 单击新增规则,类型为目录,内容为 /wp-admin,缓存选项为不缓存,单击确定。
- 单击新增规则,类型为文件后缀,内容为 html;js;css,缓存选项为缓存,缓存时间为7天,强制缓存为否,单击确定。
- 按照优先级顺序,底部优先级高于顶部,单击调整优先级,拖动"/wp-admin目录不缓存规则"规则调整至底部,使该规则优先级最高。
- 调整完成后的缓存规则为:
- /wp-admin 目录下的所有资源不缓存;
- html;js;css 文件后缀的资源缓存7天;
- php;jsp;asp;aspx 文件后缀的资源不缓存;
- 其余全部文件缓存30天。
常见问题
本页内容是否解决了您的问题?