Cloudflare 几乎是 VPS 用户的标配。免费版已经足够个人和小团队使用。
核心功能一览(免费版)
- 全球 CDN(330+ 节点)
- DDoS 防护(无限量,L3/L4)
- 免费 SSL 证书(自动续期)
- 隐藏源站真实 IP
- DNS 解析(全球最快之一)
- Page Rules(3 条免费)
- Workers(10万次/天免费)
1. 基础配置:隐藏真实 IP
在 Cloudflare DNS 面板中,把 A 记录的代理状态设为"已代理"(橙色云朵)。此时用户访问你的域名时:
用户 → Cloudflare CDN → 你的 VPS(源站)
用户的请求先到 Cloudflare,Cloudflare 再去你的 VPS 取数据。你的真实 IP 被隐藏了。
2. SSL 模式选择
| 模式 | 说明 | 推荐 |
|---|---|---|
| Flexible | 用户→CF(HTTPS) → 源站(HTTP) | ❌ 不安全 |
| Full | 用户→CF(HTTPS) → 源站(HTTPS,自签) | ⚠️ 凑合 |
| Full (Strict) | 用户→CF(HTTPS) → 源站(HTTPS,有效证书) | ✅ 推荐 |
源站可以用 Cloudflare 颁发的 Origin Certificate,免费且自动信任。
3. 缓存规则优化
在 Page Rules 中设置:
URL: example.com/wp-content/*
设置: Cache Level = Cache Everything, Edge Cache TTL = 1 month
静态资源(CSS/JS/图片)缓存到 CF 边缘节点,用户秒开,源站压力降到零。
4. 防火墙规则(WAF)
# 封禁特定国家
(http.request.uri.path contains "/wp-admin") and (ip.geoip.country ne "CN")
# 限频
http.request.uri.path eq "/wp-login.php" → Rate Limit 5次/分钟
5. Cloudflare Tunnel(替代端口转发)
传统做法:开端口 → 配 Nginx 反代 → 担心安全。Cloudflare Tunnel 直接在 VPS 和 CF 之间建立加密隧道,无需开放任何端口:
# 安装 cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared
# 创建隧道
cloudflared tunnel login
cloudflared tunnel create my-tunnel
# 配置路由 → 指向本地 localhost:8080
国内访问优化:优选 IP
Cloudflare 默认分配的 Anycast IP 在国内可能不是最快的。可以手动指定更快的 IP:
- 使用 CloudflareSpeedTest 等工具测速
- 优选延迟最低的 Cloudflare IP
- 在域名 DNS 中用 CNAME 指向优选 IP(需要用 SaaS 方式或 Partner 接入)