CDN加速完整部署指南:Cloudflare + 香港源站配置、缓存规则与回源优化
CDN(内容分发网络)通过将静态资源缓存到全球边缘节点,让用户从距离最近的节点获取内容,大幅降低延迟和源站带宽压力。Cloudflare是目前最主流的CDN服务商,免费版功能已足以满足大多数站长需求。本文以香港源站为例,给出完整的部署和配置方案。
一、CDN的核心价值
- 全球加速:Cloudflare在全球300+城市有节点,欧美用户访问香港源站的静态资源时,实际从当地节点获取,延迟从200ms降至20ms以内
- 隐藏源站IP:用户请求先到达Cloudflare,真实服务器IP不暴露,降低被直接攻击风险
- 减少源站带宽:静态资源由CDN节点提供,源站带宽消耗减少60%~80%
- 免费DDoS防护:Cloudflare免费版提供无限DDoS流量清洗
- 免费SSL证书:自动签发和续签,无需手动操作
二、Cloudflare接入流程
第一步:注册并添加站点
- 访问 cloudflare.com 注册账号
- 点击「Add a Site」,输入你的域名
- 选择免费套餐(Free Plan)
- Cloudflare自动扫描现有DNS记录,确认无误后继续
第二步:修改域名NS服务器
Cloudflare会提供两个NS服务器地址(如 aria.ns.cloudflare.com),登录你的域名注册商,将NS记录替换为Cloudflare提供的地址。NS生效通常需要5~30分钟。
第三步:配置DNS记录代理状态
在Cloudflare DNS管理页面:
- 需要CDN加速的记录(如A记录指向源站IP)→ 代理状态设为「已代理」(橙色云朵图标)
- 不需要CDN的记录(如邮件服务器MX、API子域名)→ 设为「仅DNS」(灰色云朵)
三、SSL/TLS模式配置
Cloudflare的SSL模式选择非常重要,配置错误会导致重定向循环:
| SSL模式 | 说明 | 推荐场景 |
|---|---|---|
| 关闭 | HTTP明文传输,不推荐 | 不推荐使用 |
| 灵活 | 用户→CF走HTTPS,CF→源站走HTTP | 源站没有SSL证书时的临时方案 |
| 完全 | 全程HTTPS,但不验证源站证书 | 源站有自签名证书 |
| 完全(严格) | 全程HTTPS,验证源站证书有效性 | 推荐,安全性最高 |
推荐使用「完全(严格)」模式:源站安装Let's Encrypt证书 + Cloudflare开启「完全严格」,实现端到端加密。
四、缓存规则配置
默认缓存行为
Cloudflare默认缓存以下文件类型:css、js、jpg、jpeg、png、gif、webp、ico、svg、woff、woff2等静态资源。HTML默认不缓存(因为包含动态内容)。
自定义缓存规则(Cache Rules)
登录Cloudflare控制台 → 缓存 → 缓存规则 → 创建规则:
规则1:WordPress后台不缓存
- 条件:URI路径包含
/wp-admin或 Cookie包含wordpress_logged_in - 动作:绕过缓存
规则2:静态资源长期缓存
- 条件:文件扩展名为 jpg, jpeg, png, gif, webp, css, js
- 动作:缓存所有内容,边缘TTL设为1个月
规则3:HTML页面短期缓存
- 条件:URI路径不包含特殊路径,Content-Type为HTML
- 动作:缓存,边缘TTL设为4小时
五、源站优化配置
开启HTTP/2 Push(可选)
Cloudflare → 速度 → 优化 → 开启 HTTP/2 Push,服务器可主动将关键资源推送给客户端,减少请求往返次数。
开启Brotli压缩
Cloudflare → 速度 → 优化 → 开启 Brotli,Brotli压缩比Gzip平均高15%~20%,对文本资源效果显著。
Rocket Loader(谨慎使用)
Cloudflare的Rocket Loader可异步加载JavaScript,但可能与某些插件冲突。建议先在测试环境验证。
六、源站Nginx配置与Cloudflare协作
server {
listen 443 ssl http2;
server_name 你的域名;
# 只允许Cloudflare IP段访问(防止绕过CDN直接攻击源站)
# Cloudflare IPv4段(定期更新)
allow 173.245.48.0/20;
allow 103.21.244.0/22;
allow 103.22.200.0/22;
allow 103.31.4.0/22;
allow 141.101.64.0/18;
allow 108.162.192.0/18;
allow 190.93.240.0/20;
allow 188.114.96.0/20;
allow 197.234.240.0/22;
allow 198.41.128.0/17;
allow 162.158.0.0/15;
allow 104.16.0.0/13;
allow 104.24.0.0/14;
allow 172.64.0.0/13;
allow 131.0.72.0/22;
deny all;
# 获取真实访客IP(Cloudflare代理后IP变为CF节点IP)
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 173.245.48.0/20;
real_ip_header CF-Connecting-IP;
}七、性能验证
# 检查响应头中的缓存状态
curl -I https://你的域名/style.css | grep -E "CF-Cache-Status|Cache-Control|Age"
# CF-Cache-Status说明:
# HIT — 从Cloudflare缓存返回(理想状态)
# MISS — 未命中缓存,回源拉取
# BYPASS— 缓存被规则跳过
# EXPIRED— 缓存已过期,重新回源八、总结
Cloudflare免费版配合香港源站,是目前性价比最高的全球CDN加速方案。正确配置后,欧美用户访问延迟可降低80%以上,源站带宽可节省60%以上。IDC.Net的香港服务器完全兼容Cloudflare CDN接入,开箱即用。
