缓存配置
Cdnfly 的缓存配置使用 Nginx proxy 模块,更多说明请参考 ngx_http_proxy_module。
在"网站管理"→"网站列表"中点击网站的"管理",进入"缓存设置"选项卡。缓存规则从上到下匹配,命中后停止,可拖拽调整顺序。如图:
点击"新增规则"(或已有规则的"编辑")打开规则表单:
- 缓存范围 - 可选:首页、全站、目录、后缀、单个路径
- 后缀:内容填写如
css|js|png,不区分大小写,缓存http://www.cdnfly.cn/123.css这类请求 - 目录:内容填写
aa|bb|cc,缓存http://cdnfly.cn/aa/11.php、http://cdnfly.cn/aa/22.jsp这类请求 - 单个路径:内容填写
/123.css,只缓存该路径的请求
- 后缀:内容填写如
- 有效期 - 输入数字,单位可选分钟、小时、天,下方有常用快捷选项
- 忽略 URL 参数 - 开启后同一路径不同参数共用一份缓存。如
/123.css与/123.css?a=1只缓存一份,请求/123.css?a=2、/123.css?b=3都视为已缓存 - 强制 CDN 缓存 - 忽略源站的缓存控制响应头(Cache-Control、Expires 等),按 CDN 规则强制缓存。想缓存动态内容,或设置了缓存但没生效(源站通过响应头禁止缓存)时开启
- 分片回源 - 大文件按 1M 分片回源并缓存,提高大文件分发效率
- 忽略 Vary - 不把源站 Vary 响应头加入缓存 Key
- 不缓存条件 - 设置特定请求不缓存。匹配项可选:请求URI、请求URI(不带参数)、IP地址、请求协议、请求参数、域名、自定义(自定义时输入变量,如
$http_cookie);匹配值支持正则
实例说明
缓存 WordPress,排除已登录用户
缓存整个 WordPress 站点,但已登录用户不缓存:缓存范围选"全站",在"不缓存条件"中添加一条:匹配项选"自定义",变量输入 $http_cookie,匹配值输入 wordpress_logged_in。这样带登录 cookie 的请求不会写入缓存,其余请求整站缓存。
缓存整个目录,除了一些文件
缓存整个 /foo/ 目录,但不缓存目录里的 1.html:缓存范围选"目录"、内容填 foo,在"不缓存条件"中添加:匹配项选"请求URI(不带参数)",匹配值填 ^/foo/1\.html$。