01 它是干嘛的
CDN 是 Cloudflare 的起家产品,解决的是「物理距离带来的慢」。它把静态资源缓存到全球边缘节点,用户访问时直接由附近节点返回,只有没缓存的内容才回源站。同时顺手提供了 HTTPS 证书、HTTP/3、图片压缩等能力。
02 为什么会有它
2010 年之前:一个北京的访客要跟美国服务器握手二十几次
在没有 CDN 的年代,网站只有一台服务器。这台服务器如果在美国,那么中国、欧洲、南美的访客每次打开页面,数据都要跨越太平洋往返很多次。网页里一张图就是一次请求,一个页面几十个请求,来回一算要好几秒,用户早就关掉了。
更麻烦的是「峰值」。你花钱买了一台能扛 1000 人同时在线的服务器,但某天被发到社交媒体上来了 10 万人,服务器直接崩。为了这偶发的几小时高峰期买十倍的机器,全年都在浪费钱。
CDN 的思路非常生活化:既然货物在世界各地都要卖,与其让每个顾客飞到总仓库提货,不如在各地开分仓,提前把货铺过去。分仓就是边缘节点,铺货就是缓存。Cloudflare 的创新在于把「分仓」做成自助注册、按需付费的通用服务,顺手把安全和加速捆在一起。
03 它怎么工作
核心机制是「就近接入 + 缓存命中 + 回源穿透」三段式:先让域名解析到离用户最近的边缘节点,能缓存就直接返回,不能缓存才由边缘节点替你回源站取。
一次请求是怎么被加速的:从 DNS 到就近节点
- 1① 域名交给 Cloudflare 解析
你把域名的 NS 记录指向 Cloudflare,从此所有访问请求的「第一站」由 Cloudflare 决定。这是所有功能的前提。
- 2② 就近接入(Anycast)
同一个 IP 地址被宣告在几百个机房,网络路由会自动把用户的请求送到拓扑上最近的节点,用户并不知道自己连的是哪台机器。
- 3③ 边缘节点查缓存
节点看这次请求的内容自己有没有、有没有过期。命中就直接返回,响应时间通常在 10-50 毫秒。
- 4④ 未命中则回源
边缘节点代替用户去你的源站取内容,取回来之后一边给用户、一边留在本地缓存,下一个用户就命中了。
- 5⑤ 回传并做二次加工
返回途中还可以做图片压缩、HTML 改写、注入统计脚本、合并请求等优化,这些都不需要改你的源站代码。
04 谁在用它
把静态页面挂上 CDN,全球访客打开速度从 3 秒降到 0.5 秒以内,且源站压力下降一个数量级。
商品图片、详情页、活动页缓存在边缘,大促时 90% 以上流量不落到源站,服务器不必扩容十倍。
面向中国大陆、东南亚、欧美的多区域业务,用一张网络统一接入,避免逐区域采购带宽。
前端的 JS/CSS/字体/图片全部走 CDN,配合长缓存与哈希文件名,用户二次访问几乎零等待。
05 怎么用
门槛极低:不需要写代码,只要改一次域名服务器设置,10 分钟就能让全站走上 CDN。
- 01注册 Cloudflare 账号,添加你的域名(免费版即可开始)。
- 02按提示到域名注册商处,把 NS(域名服务器)改成 Cloudflare 给的两个地址。
- 03等待生效(通常几分钟到 24 小时),看到域名状态变为 Active。
- 04在 DNS 页面把所有要加速的记录(如 www、blog)打开橙色云朵开关,即开启代理加速。
- 05在 Caching 页面设置缓存规则:静态目录设长缓存,后台与 API 路径设「绕过缓存」。
- 06(可选)开启 Brotli 压缩、Auto Minify、Polish 图片压缩,进一步减小传输体积。
避坑提示
- !只有「橙色云朵」(已代理)的解析才会走 CDN 与安全防护;灰色云朵是仅 DNS 解析,流量直达你的服务器。
- !带登录态的接口、后台地址务必要绕过缓存,否则可能把 A 用户的页面返回给 B 用户。
- !缓存更新靠文件名或 URL 版本号,别指望手动 Purge 兜底高频变更的内容。
06 关键概念
- 边缘节点(Edge)
- 分布在各地的小机房,只做缓存与转发,不做复杂计算,因此又快又便宜。
- 回源(Origin Pull)
- 节点发现没有缓存时,替你原路去问你的服务器要,这就是「回源」。
- 缓存命中率
- 100 个请求里有多少个不用回源。命中率越高,源站越轻松、用户越快。
- TTL
- 缓存的有效期。TTL 越长越省回源,但内容更新越慢。