对比

价格公开的 Cloudflare Bot Management 替代方案

Cloudflare 的机器人产品很强,而它的价格是一场对话。不把整个站点放到代理后面,你会失去什么,又能拿回什么。

你实际上在比较什么

这两个产品形态不同,假装它们相同对谁都没有好处。

Cloudflare Bot Management 是反向代理的一部分。你的 DNS 指向 Cloudflare,全部流量从中经过,机器人评分只是途中所做的众多事情之一——与缓存、WAF、DDoS 吸收和 TLS 终止并列。它的识别确实出色,依托的是任何独立厂商都拿不到的那一份全球 Web 流量。

Karma 是一项评分服务。代码片段和你的网关送出信号,判定返回,由你自己的基础设施据此行动。你的流量路径没有任何变化。没有代理、不用搬 DNS、没有 CDN。

所以诚实的问题不是「谁识别得更好」,而是:你希望机器人识别成为你网络边缘的一项属性,还是成为你现有边缘去咨询的一项服务。

Cloudflare 领先的地方,直说

四点,没有一点是小事。

  • 观测规模。Cloudflare 看到相当大一部分互联网。只要某个僵尸网络碰过其中任何一处,它在抵达你之前就已经为对方所知。我们看到的是我们客户所看到的,这个窗口小得多。
  • 它不止是机器人识别。如果你同时还需要 CDN、WAF 和 DDoS 吸收,从一家厂商作为一个产品买下来,比拼装三个更便宜也更省事。
  • 拦截本来就在那里。决定就在做出它的那一跳被执行,你的技术栈里不需要任何集成工作。
  • 成熟度。更多的部署、更多已经遇到过的边缘情况、更多由比你先踩坑的人写下的文档。

约束一:站点不能放到代理后面

Bot Management 要求流量经过 Cloudflare。对许多团队这没问题。对一部分团队不行,而原因通常是结构性的,而非偏好问题。

受监管的数据驻留。如果监管机构或客户合同要求流量在指定司法辖区终止,那么关于「经由全球 anycast 网络路由」的讨论,你未必能赢。

TLS 终止。Cloudflare 终止 TLS 以检查请求。有些组织无法交出私钥,也无法接受加密路径中出现中间方,任何合同层面的保证都改变不了这一点。

你已经有了边缘。如果你自己运行负载均衡器、自己的 WAF 和自己的 TLS,在它们前面再加一个代理不是小改动,而是一次带着自身故障模式的架构重整。

Karma 站在你已有之物的旁边。信号出去,判定回来,请求路径分毫未动。

约束二:你得在通话之前就知道价格

Bot Management 属于 Enterprise 功能。价格取决于你的流量、你的合同和你的谈判,而你要通过与销售交谈才能知道。

对大型组织这是一种正当的销售方式,对其他所有人则是实实在在的障碍。一个只想知道答案是每月 50 美元还是 5000 美元的团队,得先约一次通话才能弄清楚;等弄清楚时,两周已经过去了。

Karma 的价格都在定价页上,全部,包括最高一档。计费单位是判定——一次真正做出了决定的完整会话——免费档是每月 25,000 次判定,永久有效,无需绑卡。

你大概九十秒就能知道这个产品是否在预算之内:也就是读完这一页的时间。

约束三:你需要能解释一次拦截

Cloudflare 返回 1 到 99 的 bot score,在 Enterprise 上还会给出一些关于哪个识别引擎产生了它的细节。这比大多数产品更可解释,但归根结底仍是在别人系统内部算出的一个数字。

当客户打电话来说结不了账,你需要的不是一个分数。你需要看到是哪些信号产生了这个判定,才能判断这次拦截是否正确;如果不正确,才能修好导致它的那条规则。

Karma 在面板里展示每一次判定背后的信号。这个说法比「识别更好」谦逊,而在客服队列里更有用。

并排对比

各自的位置:

Cloudflare Bot ManagementKarma
部署方式代理——DNS 指向 Cloudflare代码片段 + 你的网关;流量路径不变
TLS由 Cloudflare 终止仍归你自己
识别语料全球 Web 流量的很大一部分Karma 客户所看到的
拦截执行在 Cloudflare 的边缘在你自己的网关上
决定是否可解释分数,Enterprise 另有引擎细节每次判定展示信号
还提供CDN、WAF、DDoS 吸收仅机器人判定
价格Enterprise,需联系销售已公开,每月 25,000 次判定内免费
合同通常按年按月或按年,随时取消

两者同时使用

这不是二选一,对许多团队来说合理的最终状态是两者兼有。

把 Cloudflare 留给它无可匹敌的事情:吸收洪泛攻击、缓存、拦下显而易见的东西。在你需要一个自家应用能够据以推理的判定处加上 Karma——结账、登录、给合作方的 API——以及在你需要看清某个具体访客为什么被拦下的地方。

代码片段在代理后面工作良好。请确保网关转发原始客户端地址,否则判定针对的将是 Cloudflare 的边缘而不是访客;并在启用任何拦截之前,把 Cloudflare 自身的探测请求加入放行名单。

FAQ

有价格公开的 Cloudflare Bot Management 替代方案吗?
有。Karma 公开每一档价格,包括最高档,按判定计费——即一次已做出决定的完整会话——并提供每月 25,000 次判定、无需绑卡的永久免费套餐。Cloudflare 的机器人产品属于通过销售定价的 Enterprise 功能:对大客户是合理模式,对所有想快速评估的人则是障碍。
使用 Karma 需要迁移 DNS 吗?
不需要。Karma 不是代理。你在页面上加一段异步代码片段,由你的网关请求判定;流量路径、TLS 终止和 DNS 完全保持原样。这正是与 Cloudflare Bot Management 的主要结构差异——后者要求流量经过 Cloudflare。
可以同时使用 Karma 和 Cloudflare 吗?
可以,而且许多团队应该这样做。Cloudflare 在边缘处理洪泛攻击、缓存和显而易见的情况;Karma 给你一个可解释的判定,供你自己的应用在结账、登录或合作方 API 上使用。请从网关转发原始客户端地址,并在启用拦截前放行 Cloudflare 自身的探测。
Cloudflare 和 Karma 谁识别机器人更好?
论原始语料是 Cloudflare:它观测到的全球 Web 流量份额是任何独立厂商都达不到的,因此僵尸网络往往在抵达你之前就已为它所知。Karma 的论点不在识别量:你保留自己的流量路径和 TLS,不用通过销售通话就能看到价格,并且能看到任何一次具体判定背后的信号。