← 返回博客

刚夸完 Cloudflare 就翻车了:部署 Google Analytics 遭遇 504

· 1 分钟阅读

事情的起因

前两天我刚写了一篇文章,标题是《从 DigitalOcean 到 Cloudflare Pages》,把 Cloudflare 从头夸到尾——免费、快速、全球 CDN、部署一条命令搞定。三个网站托管成本 $0,简直是赛博菩萨本萨。

今天,我准备给博客加上 Google Analytics,看看有没有人在看我的文章。

操作本身非常简单:在配置文件里填上 GA 的 Measurement ID,构建,部署。

npm run build
npx wrangler pages deploy dist/ --project-name=gaojiajun

然后——

✘ [ERROR] Received a malformed response from the API

  upstream request timeout
  GET /accounts/.../pages/projects/gaojiajun -> 504 Gateway Timeout

504 Gateway Timeout

我以为是网络波动,等了一分钟,再试。

504。

又等了几分钟,再试。

还是 504。

连试了三次,Cloudflare Pages 的 API 稳定地返回 504,稳定得让人敬佩。

赛博菩萨也有不灵的时候

在中文互联网上,Cloudflare 有个外号叫**「赛博菩萨」**——因为他们提供了大量免费的产品和服务。CDN、DNS、DDoS 防护、Pages 托管、Workers 计算……很多服务不仅免费,而且慷慨到让人怀疑他们的商业模式。

作为一个白嫖党,我一直对 Cloudflare 心存感恩。

但今天这个 504 让我悟了一个道理:你不能在博客上公开夸赛博菩萨

你看,我上一篇文章刚写完”部署极其简单""一条命令推上去,几秒钟就生效”,这篇文章就被打脸了。这不是巧合,这是因果报应。

免费的东西,能抱怨吗?

说实话,遇到这种问题,我连生气都不好意思。

一个每月 $0 的服务偶尔抽一下风,你还想怎样?你去饭店吃饭,服务员给你免费续了三杯水,第四杯倒慢了一点,你总不能拍桌子吧。

而且 Cloudflare 的 504 是暂时性的——等一会儿再部署就好了。又不是数据丢了,又不是服务永久下线。

只是时机有点巧,巧到像是被针对了一样。

教训

  1. 不要在刚夸完一个服务之后立刻去用它。 这就像你刚发完朋友圈说”今天天气真好”,出门就下雨了。
  2. 免费服务偶尔抽风是正常的。 这也是为什么叫”菩萨”——菩萨也不是 7×24 在线的。
  3. 本地构建好的文件不会消失。 504 只是部署推不上去,网站本身没有任何影响。等 API 恢复了再推就行。

后续

Google Analytics 最终还是成功部署上去了。如果你现在打开这个页面的源代码,就能看到 GA 的跟踪代码安静地躺在 <head> 里。

赛博菩萨终究还是赛博菩萨。偶尔打个盹,但从不缺席。

🙏 Cloudflare,谢谢你。下次能不能别在我刚夸完你的时候翻车?