
前三篇分别讲了为什么换、怎么把域名解析指向 Cloudflare、以及插件层面要排查哪些设置。这一篇是收尾:怎么确认缓存真的生效了,遇到不对劲的情况该往哪几个方向去查,以及这次调整下来的实际感受。
怎么判断缓存是不是真的命中了
判断方法不复杂,靠浏览器自带的开发者工具就能看到关键信息。
1. 打开隐私模式:用无痕窗口访问博客,避免管理员登录状态导致缓存被绕过,看到的不是真实的访客体验。
2. 打开开发者工具:按 F12,或者在页面任意位置右键选择”检查”,切换到 Network(网络)标签页。
3. 强制刷新页面:按 Ctrl+F5 或 Cmd+Shift+R。
4. 找到第一条请求:列表里通常排在最前面,类型是 document,对应的就是域名本身的 HTML 请求,点击它。
5. 查看响应标头:切换到 Headers 标签页,找到 Response Headers 这一栏。
响应标头里要重点看两个字段:
| 标头 | 显示内容 | 说明 |
|---|---|---|
| cf-cache-status | HIT | 命中缓存,页面直接从 Cloudflare 边缘节点返回,没有回源到真实服务器 |
| cf-cache-status | MISS / DYNAMIC | 刚好缓存过期或者第一次访问,刷新一两次通常就会变成 HIT |
| x-wp-cf-super-cache | cache | Super Page Cache 插件已经接管页面,在调度 Cloudflare 做页面级缓存 |
如果反复刷新后 cf-cache-status 一直是 DYNAMIC 或者 BYPASS,可以先去 Super Page Cache 插件的主页点一次”Purge All Cache”,清掉旧缓存再用无痕窗口测试一遍。
如果标头显示的还是原来的服务器,怎么办
这是切换初期最容易遇到的情况:标头里看到的不是 Cloudflare,而是源站服务器自己的标识(比如服务器标头显示本地服务器软件名称,或者本地缓存命中的标记),说明这次请求实际上还没真正经过 Cloudflare 处理,或者 Cloudflare 只是把源站的标头原样转发,没有自己介入缓存。这种情况通常是以下三个原因之一。
原因一:代理状态没开启
这是最常见的原因。域名解析虽然走的是 Cloudflare 的 DNS,但如果某条记录的”代理状态”是灰色的”仅限 DNS”,而不是橙色的”已代理”,流量就会直连源站服务器,Cloudflare 完全不会介入。
检查方法:登录 Cloudflare 控制台,进入域名的 DNS 记录页面,看主域名和 www 对应的 A 记录右侧的代理状态图标。如果是灰色,点击编辑切换成橙色的”已代理”状态,保存。
原因二:域名解析还没全球生效
如果刚改完 Nameservers 没多久,全球范围的 DNS 缓存刷新需要时间,通常十几分钟到几小时不等。在完全生效之前,自己的设备访问的可能还是旧的解析结果。
检查方法:回到 Cloudflare 控制台主页,看域名状态是不是已经变成绿色的”已激活”。如果还是”待定”,再等一等。
原因三:本地设备或浏览器的缓存滞后
有时候即使服务器端已经全部切换完成,自己的电脑或浏览器仍然记住了旧的请求结果,导致看到的标头是滞后的信息,跟实际线上状态不一致。
排查方法:换一个网络环境测试,比如用手机切换到移动数据网络(而不是家里的 Wi-Fi),同样打开无痕模式访问博客,或者用第三方的在线 HTTP 标头检测工具查一次。如果在这些环境下查到的服务器标识已经变成了 Cloudflare,说明线上其实已经切换成功,只是自己当前所在网络或设备的本地缓存还没刷新过来,过一段时间会自动恢复正常。
这次调整下来的实际感受
这个博客属于个人博客,按照前面几篇的方案——Cloudflare 接管外网 CDN 和全站 HTML 缓存,LiteSpeed Cache 退回本地工具角色,QUIC.cloud 保留还有余量的图片优化额度——切换完成之后,整体效果符合预期:静态资源和页面打开速度没有变慢,安全防护这一层是明显的额外收获,而且不需要再担心 Page Optimization 额度耗尽导致的功能中断。
从决策到验收走完这四篇,核心思路其实就一条:把外网 CDN 和缓存这一层的工作完全交给 Cloudflare,把原来依赖 QUIC.cloud 云端额度的功能按实际剩余额度分别处理——没额度的关掉,有余量的留着继续用,中间用一个轻量插件补上 Cloudflare 免费版本身缺失的 HTML 缓存能力。对于大多数个人博客来说,这是一套不需要花钱,也不需要长期手动维护的方案。
系列文章:把博客缓存迁移到 Cloudflare
