IT之家 11 月 19 日消息,Cloudflare 是一家提供关键互联网基础设施服务的公司,昨晚突发全球故障,包括社交平台 X(原 Twitter)和 OpenAI 的 ChatGPT 在内的多个网站用户均出现服务问题,被IT之家小伙伴调侃:上次 Amazon 挂壁带走了半个互联网,这次 Cloudflare 带走了剩下半个。
随后,Cloudflare 官方发布博客,解释了昨晚全球故障的原因。
世界标准时间 2025 年 11 月 18 日 11:20(IT之家注:北京时间 19:20),Cloudflare 的网络开始出现无法传输核心网络流量的重要故障。这表现为尝试访问客户站点的互联网用户看到的错误页面,显示 Cloudflare 网络内部出现故障。
Cloudflare 官方表示,该问题并非由任何形式的网络攻击或恶意活动直接或间接引起。相反,它是由 Cloudflare 数据库系统权限的变更触发的,该变更导致数据库向 Cloudflare 机器人管理系统使用的“功能文件(feature file)”中输出多个条目。该功能文件随后大小翻倍。预期之外的大文件随后被传播到构成网络的全部机器上。
运行在这些机器上的软件用于跨网络路由流量,它会读取这个功能文件,以使 Bot Management 系统能够及时应对不断变化的威胁。该软件对功能文件的大小有限制,这个限制低于其两倍的大小,导致了软件失效。
Cloudflare 官方最初错误地怀疑是由超大规模 DDoS 攻击引起的,随后正确识别了核心问题,并用该文件的早期版本进行了替换。到了北京时间 22:30,核心流量基本恢复正常。在接下来的几个小时内,官方努力减轻网络各部分的负载,随着流量重新上线。截至北京时间 11 月 19 日 01:06,Cloudflare 的所有系统均恢复正常运行。
下图展示了 Cloudflare 网络提供的 5xx 错误 HTTP 状态代码的数量。正常情况下,这个数值应该非常低,并且在停机开始之前也是如此。
图中 11:20(北京时间 19:20)之前的量是网络观察到 5xx 错误的预期基准。峰值以及随后的波动表明系统由于加载了错误的特性文件而失效。值得注意的是,系统在一段时间后会自动恢复,然后又挂掉。这对于内部错误来说是非常不寻常的行为。
官方解释称,该文件每五分钟由一个在 ClickHouse 数据库集群上运行的查询生成,该集群正在逐步更新以改进权限管理。只有当查询运行在已更新集群部分时才会生成错误数据。因此,每五分钟都有可能生成一组良好或错误的配置文件,并迅速在网络中传播。
错误持续到 14:30(北京时间 22:30),直到官方识别并解决了根本问题,通过停止不良功能文件的生成和传播,并将一个已知良好的文件手动插入到功能文件分发队列中,解决了这个问题。然后强制重启了核心代理。
IT之家附受影响的服务如下: