1. 明确目标:首先确认你需要加速的对象是整个网站(静态+动态)、仅静态资源(图片/JS/CSS),还是 API。不同目标采取的免费方案略有差异。
1.1 准备账户:推荐准备一个电子邮箱用于注册第三方服务(Cloudflare、GitHub)。如果使用 jsDelivr,则需要把静态文件放到 GitHub、npm 或 WordPress.org。
1.2 准备域名与源站信息:如果想用自有域名,准备好域名控制权;如果没有域名也可以用 GitHub Pages 的免费域名或 Cloudflare 提供的临时映射。
2. 对比选择:对于静态文件优先推荐 jsDelivr(把文件托管在 GitHub 并通过 jsDelivr 引用),完整站点或需要 DNS 代理、SSL、页面规则则优先 Cloudflare 免费计划。
2.1 jsDelivr 适合静态资源:无需改 DNS,只需把文件上到 GitHub 并使用 https://cdn.jsdelivr.net/gh/用户名/仓库@版本/路径 的 URL。
2.2 Cloudflare 适合全站加速:通过更改域名的 nameserver,把流量先经过 Cloudflare,可以加速静态并对动态内容做基础加速与防护。
3. 注册账号:访问 https://dash.cloudflare.com/ 注册免费账号并登录。
3.1 添加网站:在仪表盘点击 “Add site”,输入你的域名,选择免费计划(Free)。Cloudflare 会扫描现有 DNS 记录。
3.2 校验 DNS 记录:检查 Cloudflare 扫描到的 A/AAAA/CNAME/MX 等记录,确认没有遗漏,再继续。
3.3 修改 nameserver:Cloudflare 会给出两条 nameserver,登录你的域名注册商面板替换为 Cloudflare 提供的两条,保存并等待生效(通常几分钟到 24 小时)。
4. 在 Cloudflare 仪表盘的“Speed”与“Caching”页进行以下配置以获得即刻加速效果。
4.1 开启 Auto Minify(JS/CSS/HTML)与 Brotli 压缩;
4.2 Caching Level 选择 “Standard”,设置 Browser Cache TTL 适当值(如 1 天或更长);
4.3 在 Page Rules 添加规则:对静态路径(如 example.com/static/*)设置 Edge Cache TTL 为 1 月或更长;对管理后台设为 “Bypass” 缓存。
5. 确保 HTTPS:在 SSL/TLS 设置选择“Full (strict)”优先,如果你的源站没有证书可以先用“Flexible”,但建议尽快在源站安装证书(Let's Encrypt 免费证书)。
5.1 若选择 Flexible,要注意可能出现重定向循环,优先在源站安装证书并切换到 Full 或 Full (strict)。
5.2 解决混合内容:使用 Cloudflare 的 “Always Use HTTPS” 与 “Automatic HTTPS Rewrites” 可自动修复常见的 HTTP 引用。
6. 把静态资源放到 GitHub:创建一个公开仓库,将图片、JS、CSS 或构建产物推送到仓库。
6.1 引用方式:使用 jsDelivr 格式 URL,例如 https://cdn.jsdelivr.net/gh/用户名/仓库@版本/路径 。如果不想固定版本可以省略 @版本 使用最新提交。
6.2 优点与限制:jsDelivr 在全球有多个 POP,适合静态资源;缺点是不能缓存动态页面、必须公开仓库且遵守 CDN 的使用策略。
7. 在源站(如 Nginx/Apache 或静态生成器)设置缓存头,示例 Nginx 配置:
7.1 location ~* \\.(js|css|png|jpg|jpeg|gif|svg)$ { add_header Cache-Control "public, max-age=31536000, immutable"; }
7.2 对于频繁更新的文件设短 TTL,并对更新时使用文件名版本化(hash)以避免 CDN 旧文件问题。
8. 使用命令行验证缓存与响应头。示例命令:curl -I https://example.com/static/app.js 查看 Cache-Control、CF-Cache-Status。
8.1 dig 或 nslookup 检查 nameserver 是否已经指向 Cloudflare:dig NS example.com
8.2 在线工具:使用 gtmetrix、webpagetest、pingdom 或 Cloudflare 的分析面板查看加速效果与带宽节省。

9.1 DNS 未生效:检查域名注册商是否保存了新的 nameserver,清理本地 DNS 缓存(如:ipconfig /flushdns 或 sudo systemd-resolve --flush-caches)。
9.2 缓存不更新:先在 Cloudflare 仪表盘手动 Purge Cache(清除全部或单个 URL),并检查是否使用了 immutable 导致浏览器长期缓存。
9.3 HTTPS/证书错误:确认 Cloudflare SSL 模式与源站证书状态匹配,调试时可临时开启 “Pause Cloudflare” 以直接访问源站。
10. Cloudflare Workers 可用于简单的边缘缓存、图片重写或静态站点处理,免费额度包含一定的请求量,超出会计费,部署前要留意免费额度限制。
10.1 Cloudflare Pages:可以把静态站点与 GitHub 连接,自动构建并通过 Cloudflare 的 CDN 发布,适合 JAMstack 项目。
10.2 注意 Worker 挂钩:编写 Worker 时注意缓存策略与请求头处理,避免传递不必要的 Cookie 导致缓存失效。
11. 遵守服务条款:免费 CDN 对滥用、盗版或高频下载有使用限制,确保内容合法且不触发封禁。
11.1 隐私与日志:Cloudflare 会记录访问日志,如果涉及用户隐私须符合当地法律要求(例如 GDPR)。
11.2 速率限制:注意第三方免费 CDN 平台会对单 IP 或单仓库作速率控制,遇到稳定高流量需考虑付费方案或多源分发。
12.1 零预算最快路径:静态资源 -> GitHub + jsDelivr;全站加速 -> Cloudflare 免费计划 + 修改 nameserver。
12.2 最佳实践:版本化静态资源、合理设置 Cache-Control、启用 Brotli/Minify、使用 Page Rules 对不同路径定制缓存策略,并定期检查分析面板。
12.3 监控与优化:上线后持续用 PageSpeed、WebPageTest 评估并根据瓶颈调整缓存/资源合并/延迟加载策略。
13. 问:Cloudflare 免费版会不会限制带宽或导致网站被降速?
14. 答:Cloudflare 免费版并不会对一般站点主动限速,但对滥用或异常大流量会触发防护机制(如挑战页面或限流)。如果是正常流量,免费版通常能稳定提供缓存加速与防护;高并发或大流量场景建议评估付费计划或用多点分流。
15. 问:我更新了静态文件但用户仍看到旧版本,该如何处理?
16. 答:推荐使用文件名版本化(在文件名中加 hash),同时在 Cloudflare 仪表盘执行 Purge(清除缓存)或仅清除受影响的 URL。避免仅依赖短 TTL,因为浏览器可能会缓存很久。
17. 问:使用 jsDelivr 是否可以代替 Cloudflare?什么时候选用哪种?
18. 答:jsDelivr 专注于静态资源 CDN(适合库、图片、构建产物),不处理 DNS、SSL 或整站代理。若只需静态资源加速且愿意将文件公开,选 jsDelivr 简单且零成本;若需全站加速、WAF、防DDoS、SSL 管理或自定义域名代理,请选 Cloudflare。