CDN加速完整部署指南:Cloudflare + 香港源站配置、缓存规则与回源优化

CDN(内容分发网络)通过将静态资源缓存到全球边缘节点,让用户从距离最近的节点获取内容,大幅降低延迟和源站带宽压力。Cloudflare是目前最主流的CDN服务商,免费版功能已足以满足大多数站长需求。本文以香港源站为例,给出完整的部署和配置方案。

一、CDN的核心价值

  • 全球加速:Cloudflare在全球300+城市有节点,欧美用户访问香港源站的静态资源时,实际从当地节点获取,延迟从200ms降至20ms以内
  • 隐藏源站IP:用户请求先到达Cloudflare,真实服务器IP不暴露,降低被直接攻击风险
  • 减少源站带宽:静态资源由CDN节点提供,源站带宽消耗减少60%~80%
  • 免费DDoS防护:Cloudflare免费版提供无限DDoS流量清洗
  • 免费SSL证书:自动签发和续签,无需手动操作

二、Cloudflare接入流程

第一步:注册并添加站点

  1. 访问 cloudflare.com 注册账号
  2. 点击「Add a Site」,输入你的域名
  3. 选择免费套餐(Free Plan)
  4. 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接入,开箱即用。

THE END