家庭数据中心系列 Cloudflare Pro 深度体验:从 Free 到 Pro,到底值不值得升级?

1 前言

我大约是去年年初的时候知道的Cloudflare,距今已经差不多一年了,这一年中我使用Free账户白嫖了Cloudflare的众多功能(CDN缓存加速、WAF、DDoS攻击防护、Tunnel、worker、R2等等),说实话,我心情一直很复杂:一方面白嫖得很爽,一方面又觉得白嫖得很惭愧(当年因为一直使用盗版感觉亏欠了微软,我可是自费购买surface pro 4来还债的~)。同时,我对pro订阅用户多出的功能也很好奇,毕竟pro用户年付费的话,20美金/月也不算贵,每个月少吃一顿大餐就省出来了,关键在于,相对于普通Free用户来说,pro订阅用户多出的功能到底值不值20美金(我相信绝大部分使用Cloudflare Free账户的站长都有这个疑惑)?

带着疑惑,在网上搜了半天,我发现几乎没有详细验证这个问题的文章,一般也是一些论坛里有人提出问题,然后有人简单的回答几句,并且主观性也很强:

image.png

image.png

image.png

image.png

其实就连Cloudflare自己的官方网站也写得很简洁:
image.png

那么,到底pro用户的实际体验如何呢?订阅了pro用户就能成仙吗,还是说其实是拿了钱打水漂,就像前面说的,就是送个付费图标?

我可不是人云亦云的人,毕竟毛泽东同志讲过:实践才能出真知。于是我带着这些困惑,花了25美金的巨款订阅了Pro用户,开始了这一个月的pro用户尝鲜之旅。

注:我会从基本面、性能优化、安全性、运维可见性这4个角度来总结。

2 基本面

2.1 连通性

2.1.1 域名解析Anycast IP的变化

之前使用Free账户的时候,我的博客域名”blog.tangwudi.com”的解析地址是”104.21.x.1″:

image.png

结果,升级到pro之后解析IP发生了变化:
image.png

之所以关注这个问题,是因为之前看到有人问到这个问题:

image.png

不过,即便我自己升级到Pro用户之后解析IP发生了变化,但我仍旧无法确定其他人升级到Pro后解析IP的变化情况,所以无法下结论,只能说升级到Pro用户的确”有不小的可能”会改变解析IP,希望更多订阅Pro用户的朋友可以留言说下你们的情况。

注1:去年12月左右,我的博客存在部分国内宽带用户访问异常的问题,而PT玩家们也应该记得去年12月的时候,不少套Cloudflare(Free账户)PT站点的web网页或者tracker服务器访问异常?其实就是因为”104.21.x.1″这段IP在国内被三大运营商封杀,电信和联通是区域性的访问困难,而移动最为夸张,基本上全国都无法访问,这种情况1月后才开始慢慢恢复。

注2:按照目前的情况来看,获得3个IP的大概率是Pro用户,而获得7个IP(104.21.*.1) 和两个IP(104.* 和172.* )的大概率是Free用户。

2.1.2 连接速率对比

2.1.2.1 选择使用Free账号的对比对象

那么,升级到Pro之后的实际连接速度有没有差异呢?我使用ITDOG的网站测速来将我和两个使用Cloudflare Free账号的网站(著名PT站点”某众”和”某天”)进行对比,因为它们的解析IP地址和我之前Free账号时候是一样的(其实解析IP一样未必就是Free账号,盲猜应该是~)。

某众:

image.png

某天:

image.png

2.1.2.2 国内访问测速(TTFB)

blog.tangwudi.com:

image.png

某众:

image.png

某天:

image.png

结论:国内访问Pro账号对应域名的TTFB时间相比访问Free账号对应域名的TTFB时间来说,至少要少一半。

注:TTFB时间和最终用户访问网站体验的”快慢”感觉不能一概而论,不过对于相同的网站来说,TTFB时间越短访问体验肯定越好。

2.1.2.3 国外访问测速(TTFB)

blog.tangwudi.com:

image.png

某众:

image.png

某天:

image.png

结论:国外访问Pro账号对应域名的TTFB时间相比访问Free账号对应域名的TTFB时间来说,完全不是一个量级(0.0x秒对0.x秒甚至x秒),没有什么比较的意义了。不过,Free账号的零点几秒对人的感觉上来说,也已经不算慢了,所以对一般使用Free账号的个人站点而言其实影响也并没有那么大,关键还是在于缓存规则配置是否合理以及网站自身的优化情况。

2.1.2.4 Cloudflare Pro vs. Free:访问速度的核心差异

从前面 “国内”和”国外”发起访问的 TTFB 测试结果来看,Cloudflare Pro 账户Free 账户 之间确实存在显著的访问速度差异,然而,Cloudflare 官方却从未明确宣称 Pro 账户在访问速度或线路上优于 Free 账户,那么,Pro 账户的加速效果到底来自哪里?

其实,Cloudflare 的付费计划带来的加速效果,并非是简单的通过更换 IP 地址或提供特殊线路来实现,而是更依赖 底层网络优化、流量调度优先级提升以及更高级的缓存策略,这些优化主要体现在:
1. 访客流量的 PoP(边缘数据中心)分配

Cloudflare 在全球拥有超过 300 个 PoP(边缘数据中心),但 不同等级的账户在流量调度上的优先级不同
Free 账户:低优先级,可能绕远

• Free 账户的流量 在高负载时容易被调度到更远的 PoP,从而增加访问延迟。

部分高性能 PoP 可能不会向 Free 账户开放,而是优先提供给付费账户。

• 国内用户访问 Free 账户站点时,可能会出现绕行的情况,导致 TTFB 增加。
Pro 账户:更优先接入高性能 PoP,减少绕远

• Pro 账户的流量在 负载均衡时优先进入最近的 PoP,减少因绕远导致的延迟。

• 尽管 Pro 账户仍不能像 Enterprise 账户那样指定 PoP,但更有可能进入 Cloudflare 的优质节点,减少访问抖动。

对于国外用户,Pro 账户的 PoP 选择优化更明显,能够显著降低 TTFB
现实影响

国内访问:Pro 和 Free 账户差异不大,因为 Cloudflare 在国内没有 PoP,流量都需要绕行境外。

国外访问:Pro 账户通常会被分配到更近的 PoP,因此 TTFB 相比 Free 账户更低,体验更好。
2. 回源(Origin Requests)优化

访客的请求进入 Cloudflare 后,如果缓存未命中,Cloudflare 仍需回源请求数据,不同账户的回源策略也有所不同:
Free 账户:回源路径可能较远

• Free 账户的 缓存层级较低,命中率不如 Pro 账户,导致更多请求需要回源。

回源路径可能绕远,因为 Free 账户的回源请求不一定会选择最优路径。

• 这导致 Free 账户的动态内容加载(如 API 请求、数据库查询)可能比 Pro 账户更慢
Pro 账户:优化回源路径,减少源站压力

更好的缓存管理策略,减少不必要的回源,提高站点性能。

回源路径通常更优化,虽然不如 Enterprise 账户可以使用 Argo Smart Routing,但比 Free 账户更优。

可选 Argo Smart Routing 进一步提升回源速度,减少网络抖动
现实影响

如果站点主要依赖静态内容(如博客、图片站),Pro 账户的缓存效率更高,减少回源,提高访问速度。

如果站点以动态内容为主(如 API、数据库查询),Pro 账户的回源优化可能会提升稳定性,但不会减少回源频率。

2.1.2.5 官方宣传策略解析

尽管 Pro 账户在 PoP 选择和回源优化上带来了实际的速度提升,但 Cloudflare 始终强调 Pro 账户的 “功能性提升”,而非单纯的加速效果。那为什么 Cloudflare 官方不直接宣传 “Pro 账户访问速度更快”,而是始终强调功能性的区别?我觉得可能是基于以下三个原因:
1. 受限于网络环境,不同用户的体验不同:

• Cloudflare 的加速效果取决于 用户的地理位置、ISP 运营商、站点内容类型等多个因素

对于国外用户,Pro 账户的 PoP 优化确实能带来更快的访问速度。

对于国内用户,由于 Cloudflare 没有中国 PoP,Pro 账户的速度提升并不明显,官方不希望引起误导。
2. PoP 分配是动态调度,无法保证 100% 一致:

• Cloudflare 会根据实时负载情况动态调整 PoP 分配,即使是 Pro 账户,也不能 100% 确保始终走最近的 PoP。

这种动态调度方式意味着 Cloudflare 无法给出固定的加速承诺,只能从功能层面来区分 Pro 和 Free 账户。
3. Cloudflare 更倾向于强调安全和优化功能:

• Cloudflare 的核心业务不仅仅是 CDN 加速,而是 一个综合的网络安全和优化平台

• Pro 账户的真正价值在于 更强的 WAF 规则、更好的 DDoS 保护、更灵活的缓存策略,而 Cloudflare 也更倾向于强调这些功能。

2.2 规则数量

这部分是Free账号就提供的功能,只不过支持的数量较少,升级到Pro之后,相应的配置数量也有较大的提升,这里简单列举几个常用的:

1、页面规则数量

  • Free账号3条:
    image.png
  • Pro账号20条:
    image.png

2、WAF自定义规则数量

  • Free账号5条:
    image.png
  • Pro账号20条:
    image.png

3、速率限制规则数量

  • Free账号1条:
    image.png

    且超过速率限制时只能阻止10秒钟:
    image.png
  • Pro账号2条:
    image.png

    且超过速率限制后可以阻止最长1小时以及自定义响应类型:
    image.png

4、缓存规则数量

  • Free账号10条:
    image.png
  • Pro账号25条:
    image.png

以上就列举了我常用的,其他不常用的一些我就不一一列举了,按照官方说法,Pro计划比Free计划一共多了155-65=90条规则:

image.png

注:速率限制规则多了一条算是帮了我大忙了,可以用于对WordPress敏感路径的防护,比如对”/wp-admin/admin-ajax.php”设置单独的速率限制,之前我还只能把这部分流量单独拆分开后发给内网的长亭WAF来做速率限制(参见文章:家庭数据中心系列 破解WordPress AJAX的防护难题:利用Cloudflare Tunnel实现网站正常访问与攻击流量的”分流”防护),现在终于能放在云端处理掉了,而其他几个规则的数量其实多点少点对我没太大影响:同一个规则中多用”or”就行~。

3 性能优化

3.1 图片优化

3.1.1 概述

图片优化是网站优化的一个非常重要的组成部分,在Free账号中这部分功能是没法用的:

image.png

注:图像转换需要配合Cloudflare Image(付费)来使用,并且还需要修改图片的链接(指定宽度和高度),不适合我这种懒人,所以本文中就不涉及了。

而开通Pro之后,Polish和Mirage都可以使用了:

image.png

3.1.2 Polish

Cloudflare 的图片优化功能Polish可以自动压缩和优化网站上的图片,以提升页面加载速度和减少带宽消耗:它通过无损压缩和有损压缩两种方式优化图片,同时支持 WebP 格式的转换,从而提供更高效的图片呈现。Polish 还会根据访问者的设备和网络条件,智能地选择最合适的图片格式和质量,进一步改善用户的浏览体验,启用 Polish 后,图片加载速度将显著加快,特别是在移动设备上,提升网站的整体性能和响应速度。

和图像转换功能比起来,Polish 最大的优势是不用折腾:图片不需要存放在 Cloudflare Image 上,可以直接存放在您自己的服务器或其他支持的云存储(如 Cloudflare R2)上。Polish 会在图片传输过程中自动优化并压缩图像,而无需您手动调整源文件。需要注意的是,Polish优化功能仅适用于通过 Cloudflare 代理的域名,因此需要确保存放图片的图床的域名是通过Cloudflare代理的。

Polish的优化效率有多高呢?以我一张R2上存放的图片为例,原始大小234kB:

image.png

经过Polish优化之后,转换成了webp格式,大小也只有130kB,少了104kB:
image.png

图片直接转变成了webp格式并且容量少了将近45%,这个优化是相当的给力啊,关键我什么都没做,只是打开了一个开关而已~~,所以这是非常适合懒人的一个优化功能。

注1:Polish功能生效的前提是该图片已经被CDN缓存,未被缓存的图片Polish功能不生效。

注2:另一个有意义的参数是Cf-Bgj,imgq:100表示图像质量未降低,因为我Polish选择的是”无损”模式。

3.1.3 Mirage

Cloudflare 的 Mirage 功能是一个针对移动设备和低带宽网络优化的图片加速工具,它通过智能地调整图片的加载方式和质量,帮助减少页面加载时间,特别是在慢速网络环境下。Mirage 会根据用户设备的屏幕大小、分辨率和网络条件,动态地提供适配的图片尺寸和质量,从而有效降低带宽消耗并提升用户体验。它还能延迟加载图像(按需加载),确保只在用户需要时才加载图片,进一步优化网站性能。总的来说,Mirage 使得移动设备上的网页加载更快,提升了网站的整体访问速度和流畅度。

不过,Mirage的效果不如Polish那样好观察(需要低速网络,chrome开发者工具的设备和网络模拟未必好使),且没有明显的标识,我就不为了张截图去折腾了。

注:其实,Polish 对移动端设备也是有作用的,Polish 的图像优化功能不仅会压缩和优化图片,还会根据访问者的设备和网络条件,智能地选择合适的图片格式和质量。例如,Polish 可以将图片转换为更轻量的 WebP 格式,这对于移动设备上的加载速度特别有利,因为 WebP 文件通常比传统的 JPEG 或 PNG 文件小,且保持较好的图像质量。不过,Polish 更侧重于优化图片的大小和格式,而不像 Mirage 那样专门为移动设备进行额外的智能处理(如动态调整图片尺寸和按需加载)。因此,Polish 仍然能提高移动端的图片加载速度,但如果需要更深入的移动端优化(如延迟加载和设备适配),Mirage 或其他技术可能更为合适。

3.2 内容优化

3.2.1 概述

内容优化中除了APO之外,其他的功能都是Free版中就有了,所以我主要介绍APO,不过,也可以顺带提一嘴Rocket Loader,因为这个功能也蛮重要:

image.png

image.png

3.2.2 Rocket Loader

Cloudflare 的 Rocket Loader 是一项通过延迟加载网页上非关键的JavaScript 脚本来实现缩短页面加载时间的功能,它将非关键脚本的加载推迟,优先加载对页面渲染至关重要的资源,从而减少页面的阻塞时间。通过这种延迟加载方式,Rocket Loader 能确保页面内容更快呈现给用户,提升整体加载速度和用户体验。

WordPress本地的一些插件其实也有实现类似的功能,比如WP Rocket,可以延迟非关键JS文件的执行,还可以优化合并JS脚本(对CSS也可以优化合并)。

我之前还专门做了对比,结果发现使用WP Rocket和Rocket Loader的效果相差不大,那我自然愿意少装一个插件,改为通过Cloudflare云端来实现了,结合Zaraz的第三方脚本云加载和管理,可以给Wordpress大量”减负”。当然,WP Rocket还有其他很实用的功能,这个就和下一节介绍的APO功能有关了。

3.2.3 APO(Automatic Platform Optimization)

我之前写的Cloudflare系列教程第七部(参见:家庭数据中心系列 cloudflare教程(七) CF worker功能介绍及基于worker实现”乞丐版APO for WordPress”功能加速网站访问的实操、验证及相关技术原理研究)关于使用Worker来加速网站访问的文章中,其实就已经介绍过APO功能:

image.png

简单来讲就是,只需要两步操作
1、在Cloudflare仪表盘中启用APO功能的开关:

image.png

2、在Wordpress中安装一个Cloudflare插件并启用(需要进行很简单的初始化设置):
image.png

完成这两步后,你就能享受 Cloudflare 提供的基于 Worker 实现的全球 CDN 优化,自动涵盖 WordPress 中的 HTML、JavaScript、CSS 和图片资源,且支持无限流量。最重要的是,启用 APO 后,网站性能的提升不仅限于缓存和优化,还带来了其他显著的好处:

首先,APO 自动为你的 WordPress 网站启用了智能缓存,无需手动配置复杂的页面规则或缓存策略。传统的优化方式通常需要使用如 WP Fastest Cache 或 WP Rocket 等插件来处理本地缓存、JS 和 CSS 优化,并且还要在 Cloudflare 仪表盘中手动设置缓存规则,甚至还可能需要配置 Worker 和 KV 来实现优化。相比之下,APO 通过 Cloudflare 的自动化机制,自动完成这些优化工作,不仅省去了繁琐的配置,还减少了人为错误的可能性,极大简化了优化流程。

其次,APO 还避免了传统优化中经常需要调整的复杂缓存逻辑。以往,针对 WordPress 的缓存策略常常不够精细,需要针对不同的资源手动设置缓存规则,或者通过 Worker 和 KV 来实现更精细的控制。而启用 APO 后,Cloudflare 会自动处理所有缓存和优化,无论是图片、HTML 还是 JavaScript,都能够自动实现智能缓存和优化,不再需要手动干预。

最重要的是,APO 通过 Cloudflare 的全球 CDN 网络,确保无论用户身处何地,都能快速加载网站资源,显著提高了页面的响应速度和用户体验。尤其对于全球范围内的访问者,APO 的优化效果尤为突出,能够有效减少地域性延迟,提升访问速度。

总体来说,启用 APO 后,你的 WordPress 网站不仅能享受更高效的缓存策略和优化,避免了手动配置的麻烦,还能自动获得 Cloudflare 强大的全球网络支持和无限流量能力(之前使用基于Worker的优化方式时最担心的就是遇到DDoS攻击,因为100000 请求/天的免费额度真的不抗揍~),大大简化了性能优化的工作,让网站运行更加流畅和高效。

注1:在Free账号中也可以单独订阅APO功能(5美金1个月),所以如果之前在Free账号中本来就已经订阅了APO的朋友,订阅Pro年费会员的话就相当于每月只需要多付15美金,这么一想是不是瞬间感觉占了大便宜?

注2:APO是专为WordPress网站设计的功能,Cloudflare主要通过与WordPress的深度集成来提供这项服务(谁叫Wordpress在全球占比大呢,群众基础太好了),所以对于其他不使用Wordpress建站的订阅Pro的朋友来说,这项功能就白给了,好浪费。

注3:APO 和 上节内容提到的Rocket Loader 可以同时生效,并且能够互补提升网站性能。APO 通过 Cloudflare 的全球 CDN 网络优化和缓存 WordPress 网站的静态资源(HTML、CSS、JavaScript 和图片),加速页面加载并减少源服务器负担;而 Rocket Loader 主要优化 JavaScript 的加载顺序,通过延迟非关键脚本的加载,确保页面内容优先呈现,减少渲染阻塞。两者结合使用时,APO 提供全站的缓存和资源优化,而 Rocket Loader 专注于优化脚本加载,能显著提升网站加载速度和用户体验。不过,WordPress本地一般也有的相关优化选项,比如我使用的Argon主题中本来就有图片Lazyload的功能:

image.png

建议本地的优化选项可以关闭掉,全部让Cloudflare负责,以防相互干扰。

3.2.4 协议优化

这部分内容我就不多说了,Pro专用的只有”增强的HTTP/2优先化”这个选项,其他的Free计划中都可以使用,大家自己看注释即可,基本全部打开就行。不过,在意国内用户访问的站长对”HTTP/3″选项的开启要慎重,毕竟QUIC UDP端口443的流量太显眼了(关键这部分流量要穿越某wall),太容易被针对了。

image.png

3.2.5 其他

这部分内容 Pro 专用的就是 自动签名交换 (SXG) 功能:

image.png

启用 自动签名交换 (SXG) 功能后,Google 不再仅充当传统的搜索引擎角色,把访问请求转发到网站,同时还作为缓存服务器直接用缓存的内容来响应用户请求。这意味着,Google 可以通过与访问者进行安全的签名交换,确保缓存内容的完整性和有效性,同时显著加速页面加载速度,这样不仅减少了页面加载时的延迟,还能有效改进 Core Web Vitals 中的 最大内容绘制 (LCP) 指标,从而提升用户体验,并间接提高 SEO 排名。

启用后的具体效果,就是来源域名多了一个”blog-tangwudi-com.webpkgcache.com”:

image.png

相应的,来自”google.com”的请求数量会下降。

4 安全性

4.1 WAF

对于Pro用户而言,除了WAF自定义规则支持的数量增加外,最关键的改变就是托管规则。

image.png

Cloudflare WAF对 Free 用户 提供的所谓 “免费托管规则”,官方说法是”能提供一些基本的 WAF 保护功能,主要针对常见的攻击类型,如 SQL 注入、跨站脚本(XSS)等进行默认防护”。但实际上,这些防护效果相对有限,甚至可以说基本相当于没有。之前,我主要依赖 长亭雷池社区版(现在已经改名为个人版)在内网中拦截大部分攻击,然后通过 Wordfence 插件 在 WordPress 中进行第二层过滤,确保安全。通常,只有在长亭雷池 WAF 拦截到多次重复的攻击行为后,我才会在 Cloudflare WAF 中手动添加自定义规则进行封锁。

从这个角度来看,Free 用户 的 WAF 功能实际上可以视为一个几乎透明的组件,默认情况下并不会提供太多保护,真正发挥作用的全靠用户后续的手动干预和规则添加。

但是,升级到Pro用户以后就不同了:

image.png

对于 Pro 用户,Cloudflare WAF 提供了两个重要的托管规则集:Cloudflare 托管规则集Cloudflare OWASP 核心规则集,这两个规则集在保护网站免受各种网络攻击方面发挥了重要作用:

1. Cloudflare 托管规则集(Cloudflare Managed Ruleset)

概述:Cloudflare 提供的 托管规则集 是一系列预配置的规则,用于防范常见的 web 攻击,如 SQL 注入、跨站脚本(XSS)等。通过这些规则集,Cloudflare 会自动更新和优化防护策略,无需用户手动配置。

特点

• 自动更新:规则会随时更新,以应对新的安全威胁。

• 高效防护:覆盖常见的攻击手段,如跨站请求伪造(CSRF)、文件上传漏洞等。

• 无需手动干预:Cloudflare 托管规则集不需要用户额外配置,系统会自动启用。

• 定期优化:根据全球网络流量和安全趋势,Cloudflare 会不断优化这些规则,以提高检测精度和减少误报。

适用场景:对于没有太多时间或资源来管理 WAF 设置的用户,托管规则集提供了一个非常方便且有效的防护解决方案。

目前,托管规则集中有34个Wordpress相关的规则,对于Wordpress使用者的我来说,感觉瞬间安全了很多:

image.png

2. Cloudflare OWASP 核心规则集(OWASP Core Ruleset, CRS)

概述OWASP 核心规则集 是基于 OWASP (Open Web Application Security Project) 的推荐和最佳实践开发的一组规则。它涵盖了 OWASP 最常见的 Web 安全风险,并通过这些规则保护网站免受如 SQL 注入、XSS、命令注入等攻击。

特点

• 完备的攻击防护:CRS 旨在防护 OWASP Top 10 列出的最常见和最危险的 Web 安全漏洞。

• 深度防护:相比 Cloudflare 托管规则集,CRS 规则集的防护范围更广,涵盖了更复杂的攻击类型,如 XML 外部实体注入(XXE)和远程文件包含(RFI)等。

• 灵活性:OWASP CRS 提供了灵活的配置选项,允许用户根据需求启用或禁用特定规则,甚至可以自定义规则以适应特定的网站应用场景。

• 开源支持:CRS 是开源的,意味着可以根据实际需求修改和扩展规则。

适用场景:如果需要更深入的 Web 应用安全防护,或者网站应用涉及敏感数据,CRS 是一个理想的选择,特别适合需要符合某些安全合规要求(如 PCI-DSS)的用户。

通过这两个规则集,Cloudflare Pro 用户能够获得更强大且灵活的安全防护,有效减少潜在的网络攻击风险。以我自己为例,目前已经启用了2个托管规则集一段时间了,我内网长亭WAF上拦截的包比之前大大降低了(社区版不能选择时间段,只能看今日拦截~):

image.png

就算有拦截包,也基本是因为频率限制:
image.png

而WordPress上的wordfence插件,实时流量基本也只剩登录事件了,再观察2天后,也可以卸载掉了(WordPress轻量化工程又前进了一大步~)。

注:对于熟悉WAF规则的朋友,可以根据自己的实际需求对托管规则集里的规则进行修改,而对于不熟悉的朋友而言,一般保持默认配置即可,这个默认配置也算是Cloudflare推荐的、适合绝大多数用户的最佳实践了。


顺便提一句,之前我被人做了个繁体中文的镜像站点:

image.png

简单研究了一下,发现就是使用反向代理来实现的,在UserAgent里把自己伪造成了谷歌蜘蛛后,就堂而皇之的通过了Free账号免费托管的WAF规则。在没有升级到Pro之前,我是通过在WAF自定义规则里手动添加规则:”把所有UserAgent里包含了Googlebot字样,却不属于谷歌ASN的请求都阻止”来应对的。

而现在升级到Pro后,啥规则都不需要添加,直接被托管规则拦截了:

image.png


4.2 自动程序

4.2.1 Free用户的”自动程序攻击模式”

image.png

对于 Cloudflare Free 用户,启用 “自动程序攻击模式” 后,Cloudflare 会进行基本的自动化流量识别和拦截,例如,Cloudflare 能识别一些常见的自动化攻击行为,如恶意爬虫、暴力破解等,并且会通过 CAPTCHAJavaScript 挑战 来验证流量是否为恶意自动化请求。这种情况下,自动化流量会被视为恶意流量,并通过挑战或拦截来保护网站。

然而,Cloudflare 默认会放行另一类流量,即 “绝对自动”流量,这种流量没有明显的恶意行为,但仍然是由自动化程序发起的。例如:

网络爬虫:它们不一定执行恶意操作,但频繁访问网站以收集数据。

自动化脚本:用于大规模请求数据,但不包含暴力破解或其他攻击性行为。


“绝对自动”流量 是完全由脚本或工具自动生成的流量,通常没有用户的参与或交互。这类流量的识别相对复杂,Cloudflare Free 账户只能通过较为宽松的规则对这些流量进行基本筛查,而没有办法对其进行精细的控制。


简而言之,启用 “自动程序攻击模式” 后,Cloudflare 会拦截那些明显恶意的自动化流量(例如通过暴力破解尝试登录、爬取敏感数据等),并通过挑战机制确认请求的合法性。然而,对于 “绝对自动”流量,这类流量因为缺乏恶意特征、并且没有高频或恶意请求行为,Free 用户没有权限自定义对这种 “绝对自动”流量 的处理方式,所以这些流量默认是允许通过的,不会触发拦截或验证。

4.2.2 Pro用户的”标准自动程序保护设置”

升级到了Pro用户之后,自动程序这里的功能就多了起来:

image.png

自动程序保护的详细配置界面中,终于有了对”绝对自动”流量处理方式的选项了:
image.png

相对于Free用户,Pro用户可以对”绝对自动”流量的处理行为进行设置,如果怕误伤,可以设置为”托管质询”。


尽管 Pro 用户“绝对自动”流量 的识别能力上相较于 Free 用户 有了显著提升,但是仍然会面临一些难点:“绝对自动”流量的特点,是这些流量通常没有明显的恶意行为或攻击特征,因此 精确识别依然存在一定的困难,尤其是一些频率较低、行为与正常用户较为相似的自动化流量,可能会被误判为正常请求,导致无法做到百分之百的准确识别。在这种情况下,单纯依赖自动识别功能并不足以完全防止所有恶意自动流量(简单来说,绝对自动 规则主要针对的是那些 比较简单、行为模式明显的自动程序,通常是 低端的爬虫脚本基本的自动化工具,这些通常不具备复杂的反侦测能力,容易被 Cloudflare 的标准规则检测到)。

然而,结合 Pro 用户WAF 托管规则集,尤其是针对常见攻击模式(如 SQL 注入、跨站脚本攻击等)的防护规则,可以大大提高对 “绝对自动”流量 的防护效果,增强识别准确性并减少误判风险(前面对镜像站点恶意反向代理流量的拦截就是例子)。因此,通过灵活配置 WAF 规则和启用 自动程序保护Pro 用户 可以更有效地应对这些难以辨别的自动化流量,提高整体的安全防护能力。

顺带一提,Cloudflare Business及以上用户,就有了更高级的”Bot Management“,可以基于机器学习、行为分析、指纹识别等技术来分析和识别流量,能够更精确地辨别出自动化程序(如爬虫、恶意反向代理等),并采取相应的行动(如挑战、拦截等),可惜,至少200美金一个月的价格,我割肉都用不起~。


同时,Wordpress用户又有便宜可占了,打开”针对Wordpress优化”开关后,Cloudflare 会针对 WordPress 常见的攻击和恶意自动化流量做一些特定优化,包括但不限于以下方面:

  1. 防止暴力破解登录:WordPress 登录页面 /wp-login.php 和管理后台 /wp-admin/ 常常成为攻击目标,尤其是通过暴力破解方式尝试获取管理员密码。启用此选项后,Cloudflare 会更加积极地检测这类针对登录页面的自动化流量,并使用 CAPTCHAJavaScript 挑战 来拦截这类恶意请求。
  2. 限制对常见入口点的访问:WordPress 网站中一些常见的暴露接口(如 /wp-login.php、/wp-admin/、/xmlrpc.php 等)经常受到恶意爬虫和自动化脚本的攻击。这个选项帮助 Cloudflare 优化对这些接口的防护,减少被恶意自动化流量攻击的风险。
  3. WordPress 特有的恶意流量识别:针对 WordPress 的一些独特行为,启用该选项后,Cloudflare 会使用专门为 WordPress 优化的规则和算法,以提高识别效率,避免误拦截正常流量。
  4. 自动处理 WordPress 特有攻击模式:WordPress 经常成为 自动化脚本爬虫 的目标,这些流量可能不仅仅是恶意的,还可能是大规模的数据抓取。启用此选项后,Cloudflare 会特别关注这类流量的模式,并进行针对性的优化。

总之,Wordpress用户又赢麻了。

4.3 Pro用户安全策略思路的改变

从Free用户几乎相当于没有的WAF托管规则和简陋的自动程序攻击识别,到Pro用户WAF的两大托管规则集和能干实事的”绝对自动”流量的识别和统一处理,带来的是我对全站安全策略的重新梳理。

之前我比较纠结的一件事,是如果家庭数据中心整个down掉之后(停电、断网),虽然腾讯云轻量服务器上定期运行的探测脚本发现之后,会自动启用家庭数据中心 Cloudflare Tunnel的备用connector,从而将腾讯云服务器上博客的容灾站点变为主站点来恢复服务(参见文章:家庭数据中心系列 活用cloudflare tunnel实现wordpress主站点故障时灾备站点自动接管),但是,安全性方面却会大打折扣,因为家庭数据中心内部是有内网WAF做二次过滤的。

而现在,由于Pro用户在安全性方面的巨大提升(其实也就是有Free用户作为绿叶来衬托~),即便腾讯云上的容灾站点变为主站点,安全性问题短期内也不用考虑了。

同时,原本非常复杂的 WAF 自定义规则(曾经是我网站安全的主要防线),我也进行了彻底的整理和优化:清理掉了大量已经过时或不再需要的规则,将安全重心从依赖这些繁琐的自定义规则转移到更加高效、自动化的防护方案上。如今,原本承担主力防护职责的自定义规则,已经变成了负责筛查漏网之鱼的 “协警”,而真正的安全防线则交给了 “绝对自动”流量的托管质询WAF 的 2 大托管规则集。这种转变使得我可以通过 Cloudflare 更加智能、精准地应对各种自动化流量攻击,同时减少了过多的人工干预和规则维护,进一步提升了安全性和管理效率。

注:就算是Pro用户启用了WAF的两大托管规则集以及”绝对自动”流量的识别,也不能就认为高枕无忧了,毕竟只是20 美金提供的众多服务之一,翻不了天也成不了仙,只能说比Free用户好多了而已,所以我内网的WAF依旧还在(安全设备的异构还是有意义的)。而对于使用WordPress的朋友而言,wordfence插件建议还是尽量装上比较好(虽然可能会增加几十毫秒的”Total Blocking Time”)。

5 运维可见性

这部分内容可能很多人未必会在意,因为我相信大部分人都不会经常访问 Cloudflare 的 Web 仪表盘。但是,对于从事运维行业,或者经常需要排查故障的售后工程师来说,一个能提供详尽 监控、统计、日志查询、分析 等功能的后台系统至关重要:

1、当网站遇到 攻击 时,能够快速响应,明确攻击来源、类型、影响范围,并制定相应的防御措施

2、当网站出现 访问异常 时,可以第一时间检查 流量状况、缓存命中率、错误日志,从而快速定位问题

3、需要优化性能 时,能通过详细的流量数据分析网站的瓶颈,调整缓存策略、WAF 规则,或者优化内容分发

相比 Free 版,Pro 用户在运维可见性上获得了显著的增强,可以总结为如下3个方面:

1. 更详细的分析数据

Pro 用户可以在 HTTP流量Security Analytics 中获取比 Free 版更详尽的统计信息,包括:

更丰富的指标(如请求量、数据传输量、页面浏览量等)

高级过滤器(按国家/地区、IP、数据中心、边缘状态代码等维度筛选数据)

这些数据对于分析访问模式、优化缓存、调整安全策略都有很大帮助,从以下Pro和Free用户”分析和日志”部分的”HTTP流量”和”Web Analytics”内容的对比就可以看出。
HTTP流量:

Free版:

image.png

image.png

Pro版:

image.png

image.png

image.png

Web Analytics:

Free版:

image.png

Pro版:

image.png

可以看到Pro版在”HTTP流量”和”Web Analytics”部分提供的信息都丰富了很多。

2. WAF 事件日志 & 规则匹配详情

Free 版的 WAF 只能显示拦截请求的总量,无法查看具体的拦截详情,而 Pro 版的 WAF 事件日志 提供了完整的 攻击记录,包括:

• 触发的 具体规则(如 OWASP 规则、托管规则、IP 限制等)

• 攻击来源的 IP、国家/地区、User-Agent

• 详细的 HTTP 请求信息(例如请求 URL、参数、请求体等)

这对于分析攻击模式、调整防御策略非常重要,特别是 误拦截排查 时,能够精准判断哪些流量应该被放行或调整规则,从以下Pro和Free用户在”安全性”-“事件”界面内容的对比就可以看出:

Free版:

image.png

Pro版:

image.png

image.png

image.png

同样的,可以看到Pro版在”安全性”-“事件”部分提供的信息也丰富了很多。

3. DDoS 详细攻击报告

Free 版仅能提供基础的 DDoS 防护,而 Pro 版的 DDoS 监控报告 可以查看:

• 具体的攻击模式(如 SYN Flood、UDP Flood、HTTP Flood

• 攻击的 峰值 QPS、被拦截的请求数

• 被攻击的 目标 URL 或端口

在遭受 DDoS 攻击时,这些数据可以帮助站长更清晰地了解攻击规模,并调整 Cloudflare 规则进行优化防御,这部分功能也是依托于”安全性-事件”,我就不重复截图了。不过呢,最后还是那句话,这部分内容因人而异,并不是每个人都会感兴趣。

注:Pro用户在运维上还有一个好处,相对于Free用户只能在社区论坛发帖求助,Pro用户可以直接提交工单来开case:

image.png

不过目前还没体验过,找机会来试试~。

6 Pro 用户适合谁?值得升级吗?

在前面的文章中,我详细介绍了 Cloudflare Pro 版相较于 Free 版的多项提升。但需要再次强调,Pro 版并非适用于所有站点,主要优势体现在需要频繁回源的动态站点,尤其是 WordPress 用户。为了更直观地说明 Pro 版的价值,下面从静态站点和动态站点两个角度进行总结:

静态站点:Free 版已足够

对于完全静态的网站,如 Hugo、Hexo、Jekyll 生成的博客,或者纯 HTML/JS/CSS 的文档站、企业官网,Cloudflare Free 版已经能提供充足的保护和优化。静态站点不涉及数据库和后台 API,安全风险较低,而 Free 版默认的 DDoS 保护已足够应对常见攻击。此外,这类站点通常能实现全站缓存,访问速度本身就很快,Pro 版的动态优化功能意义不大。如果站点的图片已经手动优化成 WebP 或使用 TinyPNG 压缩,Pro 版的 Polish、Mirage 额外提升也较为有限。因此,静态站点用户大多无需升级 Pro 版。

动态站点(特别是 WordPress):Pro 版提升明显

对于 WordPress 博客、电商、论坛等动态站点,Cloudflare Pro 版的价值就十分明显。APO(Automatic Platform Optimization)能减少动态页面的回源请求,显著降低 TTFB(首字节时间),提升加载速度。同时,Pro 版提供更强的 WAF 规则,能有效防御 SQL 注入、暴力破解等针对 WordPress 的常见攻击。自动程序防护(Bot Management)还能减少垃圾评论和恶意爬虫,进一步优化站点运行。此外,Pro 版提供更详细的日志和安全分析,帮助站长更好地监控流量和优化性能。因此,对于长期运营的动态站点,Pro 版是值得投资的选择。

基于前面的分析,整理了以下的表格,供考虑订阅Pro用户的朋友参考:

站点类型 Free 版 Cloudflare Pro 版 Cloudflare 是否值得升级?
纯静态站点(全站缓存) 基础防护 + 高缓存命中率 提升有限(除非依赖 Polish、Mirage) 不推荐
轻量级动态站点(小型博客) 可能受限于缓存、WAF 规则 提供 WAF 托管规则,减少垃圾流量 可选
WordPress 站点(含动态交互) 易受攻击,TTFB 可能较高 APO + WAF 保护 + Bot 防护,性能和安全双提升 推荐
电商 / 论坛 / API 站点 高并发下性能欠佳,安全风险高 更强的缓存策略 + 防护规则 强烈推荐
经常遭遇 DDoS 或恶意流量 仅基础 DDoS 保护 WAF 托管规则 + 详细攻击分析 推荐

7 总结:意料之外的”真香”体验

其实,我有种上了贼船的感觉:本来只是想订阅一个月的Cloudflare Pro,体验一下 Pro 版的各种提升,写篇总结就此作罢,没想到这一番折腾下来,竟然觉得 Pro 版完全就是为我量身定制的,甚至已经开始认真考虑订阅年费版了。尽管要节衣缩食,但能大幅减少博客日常运维的时间和精力,这笔投资还是挺值的。

不过,我还是想再强调一下:Pro 版并不会直接提升国内用户的访问速度。之所以再强调,是因为我看到各种论坛里不少人都有这个误解,以为升级到 Pro 版后,国内访问速度就能显著提升,然后升级后发现其实没啥差别,就又说Pro没用,要记得一个无法改变的事实:Cloudflare在国内并没有自己的节点,所以Pro 版带来的直接速度优化只能体现在海外用户的访问上。

对于国内站点,真正要提升访问速度,仍然要依赖 Cloudflare APO、页面优化、缓存策略等手段,甚至可能需要借助国内的 CDN。如果你愿意备案并且特别看重国内访问速度,那或许直接使用国内 CDN 会是更优解,毕竟,即便是 Cloudflare 的 Enterprise 版,想要使用国内的京东云节点依然需要走备案流程,而如果都愿意备案了,那又何必绕这么大一圈折腾Cloudflare呢?

最终,Cloudflare Pro 适不适合你,取决于你的需求:如果你的站点受众以海外用户为主,或者是动态站点(尤其是 WordPress),Pro 版的各种优化绝对值得入手;但如果你的网站访客主要来自国内,而且已经通过其他手段优化了访问速度,那 Free 版也许已经足够了。

博客内容均系原创,转载请注明出处!更多博客文章,可以移步至网站地图了解。博客的RSS地址为:https://blog.tangwudi.com/feed,欢迎订阅;如有需要,可以加入Telegram群一起讨论问题。

评论

  1. Windows Chrome 132.0.6834.83
    6 天前
    2025-3-07 1:30:35

    好像挺不错的,就是价格有点贵

    • 博主
      zeruns
      Macintosh Chrome 132.0.0.0
      5 天前
      2025-3-07 9:43:20

      嗯,有点贵,但是又不是很贵,就看自己是否需要了。

  2. Windows Firefox 136.0
    1 周前
    2025-3-03 9:38:52

    free 与 pro 都会把中国方向的流量引向 洛杉矶或者圣何塞,有段时间可以进入日本和香港的 pop。当然,这是很早就过去了的时间里发生的事情。了。 Pro 增加的那些功能还是蛮不错的,对得起 25u/mo 😀

    • 博主
      Xoyo
      Macintosh Chrome 133.0.0.0
      1 周前
      2025-3-03 9:49:45

      年费用户只需要20u/mo~~~。其实主要是对于wordpress用户的APO功能,5美金是千值万值,就算不要其他功能,只订阅APO我也是非常愿意的,之前使用worker优化的方式来使用乞丐版APO功能,每天10万的免费请求额度,只要一遇到DDos就歇菜,太让人蛋痛了。

  3. Windows Chrome 133.0.0.0
    1 周前
    2025-3-03 9:20:01

    如果有Wordfence插件应该不会被搬运的吧,我当时好奇过为什么我主站没被搬运,另一个流量很低的站反而被搬运了,后来发现因为主站的Wordfence给拦截了。

    • 博主
      秋风于渭水
      Macintosh Chrome 133.0.0.0
      1 周前
      2025-3-03 9:35:35

      我这边的确是没拦截到,至少是关于这个镜像站点,我当时也很好奇,研究了半天,因为一般对我博客的反代流量是无效的。其实关键是wordfence里是否有关于”用户代理伪装成google机器人但是IP地址又不属于google的ASN的流量,就拦截”这条规则,我觉得可能不是每个镜像站点都使用这种方法,可惜我已经把wordfence删掉了,不然可以验证下这个问题。

      • tangwudi
        Windows Chrome 133.0.0.0
        1 周前
        2025-3-03 9:45:27

        当时的截图:

        查看图片


        • 博主
          秋风于渭水
          Macintosh Chrome 133.0.0.0
          1 周前
          2025-3-03 9:53:30

          从这个截图上看wordfence的确是有这条策略,不过我的wordfence为啥没拦截到呢,我就是Free版的默认策略,这个就奇了怪了,难道你用的不是free版,或者说不是用的默认策略?

          • tangwudi
            Windows Chrome 133.0.0.0
            1 周前
            2025-3-04 17:23:17

            啊,好吧,可能这就是原因吧。我用了个邪门办法让free版也能更新高级版的规则,虽然他显示(高级保护已禁用)但实际上高级规则和实时 IP 黑名单等会被启用

          • 博主
            秋风于渭水
            Macintosh Chrome 132.0.0.0
            1 周前
            2025-3-04 22:10:07

            我知道这个方法,不过后来想想还是算了,因为我的确不习惯在本土厮杀,一直想的是御敌于国门之外,所以想的是迟早删掉wordfence,就不折腾了。况且,那个方法每次wordfence升级了版本都要重新弄一遍,实在是懒得折腾。

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       
error:
zh_CN