<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cloudflare on Zampo Blog</title><link>https://blog.cpdd.fyi/tags/cloudflare/</link><description>Recent content in Cloudflare on Zampo Blog</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Wed, 15 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.cpdd.fyi/tags/cloudflare/index.xml" rel="self" type="application/rss+xml"/><item><title>Cloudflare 故障 5 小时：互联网的根基，比你想的还要脆弱</title><link>https://blog.cpdd.fyi/posts/cloudflare-outage-internet-fragility/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://blog.cpdd.fyi/posts/cloudflare-outage-internet-fragility/</guid><description>&lt;p&gt;&lt;img src="https://blog.cpdd.fyi/images/cloudflare-outage/cover.jpeg" alt="Cloudflare 故障警示图，象征互联网基础设施的脆弱性"&gt;&lt;/p&gt;
&lt;p&gt;2022 年 7 月 21 日，Cloudflare 挂了 5 个小时。&lt;/p&gt;
&lt;p&gt;GPT、推特、Discord……大量你每天都在用的服务全面瘫痪。这不是黑客攻击，不是 DDoS，而是一次配置更新。&lt;/p&gt;
&lt;p&gt;一个错误的 WAF（Web 应用防火墙）规则被全球发布，导致所有边缘节点的 CPU 被打满。&lt;/p&gt;
&lt;p&gt;这也提醒了各位：互联网这个强大的科技产物，比你想的还要脆弱。&lt;/p&gt;
&lt;h2 id="5-小时发生了什么"&gt;5 小时发生了什么&lt;/h2&gt;
&lt;p&gt;Cloudflare 是全球最大的 CDN 之一，核心定位就是流量的第一道关卡。每个用户请求都要经过 Cloudflare 的边缘节点，然后才被转发到源站。&lt;/p&gt;
&lt;p&gt;这次故障的源头，是一次 WAF 规则更新。&lt;/p&gt;
&lt;p&gt;WAF 的工作很简单：识别恶意流量，比如爬虫、攻击请求。它会在每个 HTTP 请求上执行一系列规则，判断这个请求是否可疑。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;问题出在哪里？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这次更新的规则写错了。它使用了一个极其复杂的正则表达式，在每个 HTTP 请求上执行时，计算成本非常高。&lt;/p&gt;
&lt;p&gt;可以理解成：每个请求都要做一次&amp;quot;超级复杂计算&amp;quot;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;后果是什么？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每个请求都触发这个高成本规则&lt;/li&gt;
&lt;li&gt;CPU 被迅速打满&lt;/li&gt;
&lt;li&gt;边缘节点无法处理新请求&lt;/li&gt;
&lt;li&gt;直接返回 500 / 502 / 超时&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;为什么会全球一起挂？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Cloudflare 是边缘计算架构，配置是全球同步的。几分钟内，这个错误的规则被推送到所有节点。&lt;/p&gt;
&lt;p&gt;一个 bug = 全球一起挂。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么看起来&amp;quot;一会好一会坏&amp;quot;？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;因为部分节点的缓存和状态不同：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有的节点还没加载规则&lt;/li&gt;
&lt;li&gt;有的节点已经炸了&lt;/li&gt;
&lt;li&gt;有的节点负载较低还能撑&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;于是就出现了过山车状态：一会好 → 一会挂 → 再好 → 再挂。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;怎么修复的？&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>