CloudFlare Cache Rules (缓存规则)教程

原文链接捏:https://blog.warhut.cn/dmbj/1225.html

大善人非常善良的提供了一年的缓存服务,大大减少了源站开销,同时能抗住大量的CC。

但是自从更新了Cache之后,教程就变少了,页面规则也被移除了

分享一下我知道的配置规则。

首先让我们找到

创建一个你想缓存的规则

可以看到上面,根据主机名,URL,等等一系列,都可以自定义你自己站点的缓存规则,并且!支持10条规则(不愧是大善人

我默认的规则如下:

缓存条件

对所有包含以下扩展名的进行缓存:

(http.request.uri.path.extension in {"7z" "csv" "gif" "midi" "png" "tif" "zip" "avi" "doc" "gz" "mkv" "ppt" "tiff" "zst" "avif" "docx" "ico" "mp3" "pptx" "ttf" "apk" "dmg" "iso" "mp4" "ps" "webm" "bin" "ejs" "jar" "ogg" "rar" "webp" "bmp" "eot" "jpg" "otf" "svg" "woff" "bz2" "eps" "jpeg" "pdf" "svgz" "woff2" "class" "exe" "js" "pict" "swf" "xls" "css" "flac" "mid" "pls" "tar" "xlsx" "rtf" "txt" "md" "tar.gz" "tar.bz2" "tar.xz" "xz" "psd" "ai" "mov" "wmv" "wav" "aac" "m4a" "obj" "stl" "json" "xml" "yml" "yaml" "bat" "sh" "py" "m3u8" "ts"})

缓存配置

指定符合缓存条件的进行缓存,代表会将符合上面缓存条件的进行缓存。

绕过则是反之,通俗易懂

边缘TTL就是cf将你的数据缓存在他的节点上,缓存多久,这里直接选1年,也可以选其它的,根据你实际情况

我为什么额外+状态码呢?因为有时候,服务器502了,我不想被缓存,这个时候就可以指定状态码进行缓存

我这里默认了200缓存1年,404这种只需要缓存2个小时就够了,防止CC的攻击。

如果你需要缓存的是静态资源,并且不考虑时效性,或者服务器的有效性,直接像我这样配置

具体详细规则,请自己阅读文档噢,大部分静态资源通用以上规则,欢迎各位佬友分享自己的缓存规则,或者说方法~

212 个赞

感谢分享,下次试试

2 个赞

学到了

规则添加不上,算啦

1 个赞

什么?

1 个赞

感谢大佬

1 个赞

土豆6啊

2 个赞

From #optimize to 开发调优

好帖,正想学习一下相关知识

1 个赞

土豆哥,请教个问题,我想把 https://pic.forvps.gq/* 的所有文件都设置缓存,但我这样设置没有生效 (http.request.full_uri wildcard “https://pic.forvps.gq/*”)


只有换成 (http.request.uri wildcard “/*”) 这样才生效

请教一下为什么呢?

收藏学习了马克

改一下,如果想要缓存所有的话,直接用主机名就好了 主机名 = ex.com

新文章更新了新的缓存方式,可以去查看下。

1 个赞

问下大佬,假如我a域名 cname b域名 ,那么实际上要配置的应该是a的还是b的?
如果是自定义主机的话,那应该缓存的是自定义主机域名还是实际指向的域名?

1 个赞

感谢分享,mark一下!!

CloudFlare Cache Rules (新缓存规则)教程
目前Cloudflare提供了全新的文档供大家去使用,建议配合文档一起食用。

https://developers.cloudflare.com/cache/about/cache-rules/

规则

(http.host eq "v.warhut.cn" and http.request.uri.path in {"/static" "/libs" "/data" "/iyplayer"}) or (http.request.uri.path.extension in {"7z" "avi" "avif" "apk" "bin" "bmp" "bz2" "class" "css" "csv" "doc" "docx" "dmg" "ejs" "eot" "eps" "exe" "flac" "gif" "gz" "ico" "iso" "jar" "jpg" "jpeg" "js" "mid" "midi" "mkv" "mp3" "mp4" "ogg" "otf" "pdf" "pict" "pls" "png" "ppt" "pptx" "ps" "rar" "svg" "svgz" "swf" "tar" "tif" "tiff" "ttf" "webm" "webp" "woff" "woff2" "xls" "xlsx" "zip" "zst"})
  1. 该规则对默认静态资源进行缓存,并且同时对指定路径下的所有内容进行缓存,以确保静态资源不会被cc攻击
  2. 在使用边缘 TTL时,使用了200以内的均缓存一年,201之后缓存2小时,以达到只缓存有效链接。
  3. 下面选项确保不会被使用查询字符串反复申请原站请求。
3 个赞

收藏了,感谢分享

姿势又增加了

a,因为用户访问的是a域名

1 个赞

感谢大佬
使用加速后感觉拓扑变乱了,今天我尝试把两个域名(加速用的)的那个开发者模式打开,但是仍然强制是cdn,不知道是不是因为走的cf加速(两次cname+自定义主机)导致的.
等我有空陪下规则看看能不能成功 :rofl:
现在开发者模式还是显示cdn我就感觉这个规则可能不太好搞