要让cloudflare免费cdn在国内提速,必须手动锁定香港/新加坡等低延迟边缘节点、优化回源链路并调整缓存策略,否则可能被误导向美国节点导致延迟飙升。

想让Cloudflare免费CDN在国内不拖后腿反而提速,必须绕开默认智能路由对国内节点的误判,手动锁定香港/新加坡等低延迟边缘节点,并调整回源路径与缓存策略——否则用户可能被导向美国节点,延迟从80ms飙升到320ms。
确认当前加速效果是否被反向拖累
打开浏览器开发者工具 → Network标签页 → 刷新网页 → 查看任意静态资源(如logo.png)的Response Headers → 找到cf-ray字段值(如“8a1b2c3d4e5f6789-HKG”)→ 后缀HKG、SIN、TPE代表香港、新加坡、台北节点,若显示ORD、DFW、IAD则说明流量被错误导向美国中西部节点,必须立即调优。
这一步不可跳过。Cloudflare免费版默认启用Anycast智能路由,但对中国大陆运营商DNS解析结果不稳定,常将电信/联通用户导向北美节点。
强制指定边缘节点地理位置
方法一:通过Page Rules锁定区域缓存
进入Cloudflare控制台 → Rules → Page Rules → Create Page Rule
URL匹配模式填:https://yourdomain.com/* → 点击Add a Setting → 选择Cache Level → 设为Cache Everything → 再Add a Setting → 选择Edge Cache TTL → 填写31536000(1年)→ 最关键一步:Add a Setting → 选择Country Code → 勾选HK、SG、TW(仅限这三个节点能稳定接入国内),取消勾选其余所有国家 → Save and Deploy。
【必须关闭“Automatic HTTP Rewrites”和“Brotli”两项】,否则部分老旧安卓WebView会因HTTP重写失败导致白屏,Brotli压缩在移动网络下反而增加解压耗时。
方法二:用Workers脚本硬性重定向(适用于已开通Workers免费额度的账号)
新建Worker → 粘贴以下代码:
export default { async fetch(request, env, ctx) { const country = request.headers.get("cf-ipcountry"); if (country === "CN") { return fetch(request.url.replace("https://", "https://cdn-hk."), { headers: request.headers }); } return fetch(request); } };
需提前在DNS中添加CNAME记录:cdn-hk.yourdomain.com → 指向yourdomain.com并开启Proxy(橙色云)→ 此脚本仅对中国大陆IP生效,强制走香港边缘节点。
优化回源链路避免二次绕行
第一步:登录Cloudflare控制台 → SSL/TLS → Origin Server → Create Certificate
生成Origin CA证书 → 下载PEM格式私钥和证书 → 上传至你的源站服务器(Nginx/Apache)并配置HTTPS回源;这步确保Cloudflare到源站全程加密且走最优BGP路径,避免运营商劫持或QoS限速。
第二步:进入SSL/TLS → Overview → 将SSL mode设为Full (strict) → 强制要求源站提供有效证书,否则拒绝回源;【若源站无HTTPS或证书过期,此处会直接返回525错误,切勿跳过验证】。
第三步:Rules → Transform Rules → Create Rule → Trigger:All incoming requests → Action:Modify Request Header → 添加Header:CF-Connecting-IP → Value:%{http.request.header.X-Real-IP} → 这能让源站日志真实记录用户IP,便于后续分析地域访问瓶颈。
精细化缓存策略适配国内网络特性
进入Caching → Configuration → Custom Cache Key → 开启Enable custom cache key → 勾选Host + Path + Query String → 取消勾选User Agent和Cookie(国内多数CDN节点不支持UA级缓存分离,开启反而降低命中率)。
进入Caching → Cache Levels → 将HTML文件的Browser Cache TTL设为3600(1小时),JS/CSS设为2592000(30天),图片设为31536000(1年);【严禁对HTML设置超过2小时的边缘缓存】,否则内容更新后用户需强制刷新才能看到新版本。
进入Speed → Auto Minify → 仅勾选JavaScript和CSS → 取消HTML勾选;国内移动端UC/QQ浏览器对HTML自动压缩兼容性差,易导致布局错乱。











