← 返回 僵尸网络农场如何导致我的 Vercel 账单飙升,以及花了 50 天才找到的防火墙修复方案 -- 线条艺术插图

机器人农场如何导致我的 Vercel 账单飙升,以及花了 50 天才找到的防火墙修复方案

性能与 Core Web Vitals

如果你的 Vercel 账单突然跳到 50 美元、100 美元,甚至每天 200 美元,最可能的原因是机器人流量大量访问你的动态页面,最快的修复方法是使用 Vercel 防火墙规则来阻止或质询导致问题的地区和用户代理。我是以艰难的方式学到这一点的:花了大约 50 天和数千美元的虚高账单,才找到了一个修复方案,一旦我知道要找什么,只需大约两分钟就能应用。

关键要点:爬取大型或程序化网站的机器人农场可以通过函数调用、ISR、图像优化和数据传输快速增加 Vercel 账单。防火墙规则(阻止或质询有问题的地区和用户代理)通常是解决方案。在扩展之前而不是之后设置支出警报和防火墙规则。

这是一个战争故事,不是批评。我仍然认为 Vercel 的开发者体验很好。但我希望下一个看到账单图表无缘无故上升的人能找到这个页面,跳过我花费的 50 天。

实际发生了什么

我的账单开始上升,但真实访客没有相应增加。大多数日子账单比基线高 50 到 100 美元,最糟的日子达到约 200 美元。在峰值期间平均下来,我每天大约花费 125 美元。这个网站很大,基本上是程序化的,页面数量达到六位数,这正好是自动化爬虫喜欢的配置文件:无尽的独特网址供其访问。

钱真正流向了哪里

Vercel 不会按单一流量数字计费。它按一组计量的项目行计费,机器人同时会抬高其中几个:函数调用、增量静态再生成读写、边缘请求、快速数据传输和图像优化转换。图像优化是最难对付的,因为机器人触发的每个独特图像请求都可能计为一次转换。在爬虫访问超过 100,000 个路径的情况下乘以这个因素,计量表就永远不会停止。

花我最多钱的教训:在大型网站上,造成伤害的项目行几乎从不是你关注的那个。我在想带宽。实际的损害来自函数调用和图像工作,完全由永远不会转化、点击或阅读任何内容的流量驱动。

为什么花了 50 天

阻止机器人很容易。证明它们是原因则不然。流量明显不是人为的,很大一部分来自通过少数几个地区路由的机器人农场,但 Vercel 的使用仪表板只显示正在消耗什么,并不总是明确为什么。将特定的计费项关联到特定的机器人模式花了远比预期长的时间,那 50 天中的大部分都花在了溯源上,而不是修复本身。

两分钟的修复

一旦我理解了这个模式,修复就是一条 Vercel Firewall 自定义规则:阻止或挑战来自负责任的地区和用户代理的请求,对最激进的路径进行速率限制,并阻止机器人触发昂贵的图像和 ISR 工作。编写这条规则大约花了两分钟。我的平均日支出从大约 $125 降至约 $30。每天三十美元仍然比我想要的多,我在进一步调整,但这已经是与开始时完全不同的情况了。

对 Vercel 支持的公正评价

我想要保持理性,因为我不喜欢批评一个我在其他方面喜欢的产品。但 Pro 计划的支持速度比我对付费级别的预期要慢。我确实从团队那里获得了一些帮助,但没有人诊断或修复那个最终只需要小小配置更改的问题,而且一些回复感觉驳回而非好奇。当一个客户在你的平台上明显在赔钱时,支持应该想要深入了解原因。这是我希望 Vercel 改进的地方,因为产品的其余部分值得它所寻求的忠诚度。

如果你在 Vercel 上扩展,先做这个

在增长之前就打开支出管理和预算警报,而不是在收到第一张吓人的账单后才采取行动。在使用量攀升时收到通知远比在月底时才发现要值得得多。

尽早添加 Vercel 防火墙规则。按国家、IP、用户代理和路径进行阻止或挑战,并对机器人喜欢的路由进行速率限制。Robots.txt 不会阻止忽视它的爬虫。

了解哪些行项目随流量扩展。图像优化、函数调用、ISR 读写和快速数据传输都随着流量变化而变化,而机器人会同时驱动所有这些行项目。

特别关注图像优化,尤其是在图像密集型或程序化生成的网站上。这是最让我惊讶的成本。考虑从存储或 CDN 提供预优化的图像,而不是在计费路径上进行转换。

那么,Vercel 仍然值得吗?

值得,但要睁大眼睛。对于小型和中型项目,开发者体验仍然是业界最好的,我仍在使用它。但如果你运行数万次访问或 10 万多个页面,从第一天起就要把计费当作一流的工程关注点。如果你不主动设置防护栏,这个平台会让你非常快地花费大量资金。

常见问题

为什么我的 Vercel 账单突然激增?

最常见的原因是非人类流量,如机器人、爬虫或僵尸网络,爬取你的动态或程序化页面,并膨胀计费行项目,如函数调用、ISR、快速数据传输和图像优化。账单激增而没有匹配的真实用户增长是明显的信号。

我如何在 Vercel 上阻止机器人流量?

使用 Vercel Firewall 按国家、IP、用户代理或路径阻止或质询请求,并在高风险路由上添加速率限制。如需更强的保护,可在应用前部署专用 WAF。仅凭 Robots.txt 无法阻止选择忽视它的机器人。

Vercel 会自动阻止机器人和 DDoS 攻击吗?

Vercel 包含基线 DDoS 缓解和一些机器人控制,但不会自动阻止悄悄增加账单的分布式爬虫。你通常需要自己配置防火墙规则来保护支出。

我如何限制或控制 Vercel 支出?

启用支出管理并设置预算告警,这样你可以在使用量上升时收到通知,并定期查看使用情况仪表板。在支持的计划上,它可以采取措施如在达到阈值时暂停项目,这比事后才发现峰值要好得多。

相关:如果账单迫使你考虑其他主机,可查看 Vercel alternatives;如果需要 WAF 和机器人管理层,可查看 Cloudflare alternatives。

← 返回