Cloudflare Pro使用心得

  云筏科技推出Cloudflare Pro(Plesk)一个域名长期只需¥10(已截至)

  前言

云筏是类似笨牛的一个Cloudflare partner,从云筏接入CF激活Cloudflare pro(Plesk)的功能(虽然说从CF官网看还是Free免费版),cloudflare Pro 与普通免费套餐区别如下:

  • 可以开启Polish
  • 可自定义错误页面(4xx 5xx 1xxx 3秒盾)
  • 页面规则数为30条(免费只有3条)
  • WAF权限
  • 图片Mirage(根据终端分配不同图片)
  • Speectrum免费5G流量

CF pro
CF pro

这个CF pro车实质上是Plesk的共享版本,云筏开一个Plesk,然后Plesk的domain都可以享受上面列的Pro功能,Cloudflare partner配合API就可以发车了;虽然说节点和免费版的都一样但是我觉得自定义WAF和页面规则就值得了,下面我分享一些其中部分功能的使用心得。

一、页面规则书写(Page-rules)

https://cdn.jsdelivr.net/gh/wangyaojiu/tuchuang@master/2020112811074860e6998e930dcb446e2eccad19bc6f68.PNG

常言道页面规则写好了,就等于网站成功了一半。免费版Cloudflare只有三条规则能写,拿WordPress为例,三条规则仅能做前后端的区分,更详细的规则就比难过了。

首先讲一下免费的Wordpress规则书写

第一条
*blog.wang19.com/wp-admin*后台不缓存
第二条
*blog.wang19.com/*preview=true*预览不缓存
第三条
*blog.wang19.com/*其余全缓存
*第四条(需pro以上)
blog.wang19.com/wp-login.php*登陆页面

规则解释:

首先上方规则中的“*”代表所有的意思,不管是字母数字或者是特殊符号都可以使用一个“*”来代替。熟悉正则表达式的同学对这个很好理解。

第一条含义:代表此条规则适用于所有*.wang19后面开头是wp-admin的URL地址,wp-admin后面的字符全部包括在此条规则内。wp-admin是wordpress博客的默认后台地址。

第二条含义:*.wang19后面URL中只要带有preview=true的字符,都适用于此条规则。preview=true是wordpress写文章点击预览时的预览URL地址。

第三条含义:*.wang19/后面所有的URL地址全部适用于此条规则。

上面三条规则里面我们前两条是要设置为不缓存,第三条我们设置为永远缓存。这样第一条的后台地址和预览地址我们看到的就是最新的内容,不会出现无法登陆或者无法预览文章的情况。

此时免费版的三条规则就该想到wp-login这个登陆地址怎么办了,我推荐Easy hide Login这个插件,需要的可以自己研究一下 。

附:此博客的缓存规则

二、Polish图片缓存

Polish对于类似我这种图片站或图片多的站是一种福音,可以选择无损有损压缩,有损压缩还可以选择WebP;如官网所示,通过优化域中托管的图像,缩短图像加载时间。(可选)可以将 WebP 图像编解码器与受支持的客户端一起使用,来实现更多性能优势。

  • WebP: 浏览器支持的情况下,会发送WebP格式的图片。JPEG有损,GIF和PNG无损。太大的JPEG文件会被转换成渐进显示的图片,也就是在加载过程中,图片会逐渐变得清晰。WebP转换不会影响URL,也就是说,虽然URL后缀是JPEG、PNG等,但是图片内容已经是WebP了。
  • Lossy: 有损压缩。除了进行Lossless的操作外,还会对JPEG进行压缩,可能会影响图片质量。
  • Lossless: 无损压缩。此选项不会影响图片质量。PNG、GIF文件,会被无损压缩。而JPEG文件仅会被删除标签
怎样确定Polish是否生效?

你可以查看文末图片的请求头,返回的请求头会包含以下三个字段:

cf-bgj: imgq:100
cf-cache-status: HIT
cf-polished: origSize=4279085, status=webp_bigger

  • cf-bgj 表示Polish已经生效,imgq参数表示图片质量,此处的100表示无损。
  • cf-cache-status 表示图片已被缓存,Polish可生效。
  • cf-polished 提供了原始图片大小和一个状态码。下面会对常见的状态码进行解释。
常见状态码

下面是cf-polished字段中,常见的状态码。如果cf-polished字段没有出现在请求头,可以尝试purge这个图片。

  • input_too_large 图片太大或者太复杂了。推荐对小于1000px和10MB的png、jpeg图片启用此项功能。
  • not_compressed or not_needed 源图片已经优化得足够好,无需再进行操作了。
  • webp_bigger 没有转换成WebP,因为源文件已经优化得足够好,或者质量不佳,转换成WebP的话,会变得更大。Because the WebP version doesn’t exist, the status is set on the JPEG/PNG version of the response.(这句没看懂)
  • cannot_optimize 或者 internal_error 源图片损坏,请重新上传到源服务器。
  • format_not_supported 不支持的格式(比如BMP,TIFF)。
  • vary_header_present 源服务器发送的回复头Vary不是accept-encoding,而是其他值。如果是在源服务器进行了WebP转换,请不要这么做,让CloudFlare来转换。

、Spectrum

Pro版本的Speectrum支持MCSSH的DDOS防护以及加速,并且每月5G的免费流量,超出额度1$/G,看一下官方说明文档

>>Cloudflare Spectrum Docs

Cloudflare Spectrum 是一种反向代理产品,可将 Cloudflare 的优势扩展到所有 TCP/UDP 应用程序

  • 通过 Cloudflare 代理任何 TCP/UDP 流量
  • 允许或拒绝 IP 地址
  • 集成性能优势
  • 灵活和全面 TLS
  • 实时应用程序相关分析
  • 允许 TLS 直通流量
  • 通过仪表板用户界面或 API 轻松设置
  • 多服务器第 4 层流量负载均衡
  • 支持日志共享到公共云存储桶