Cloudflare 建站优化完全教程:DNS、CDN、安全、防护与缓存配置指南

当你拥有一台 VPS 或虚拟主机,搭建好网站之后,最常遇到的三个问题就是:网站加载速度慢、遭受恶意攻击、SSL 配置繁琐。Cloudflare 作为全球领先的 CDN 和安全服务商,免费计划就能解决上述绝大部分痛点。本文将从 DNS 接入开始,逐步深入到 CDN 缓存优化、SSL 设置、WAF 防护、性能优化以及 Workers/Tunnel 等进阶功能,帮你把网站加速和安全拉满。
一、为什么选择 Cloudflare 作为建站加速与安全平台
Cloudflare 的核心优势在于其庞大的全球边缘网络——覆盖 330+ 城市,节点数量超过 330 个。这意味着无论你的访客在哪个国家,都能通过最近的节点访问你的网站,大幅减少物理距离带来的延迟。同时,Cloudflare 免费计划已经包含 DDoS 防护、Web 应用防火墙(WAF 基础规则)、SSL 证书、自动压缩等常用功能,对于个人博客、中小企业站群甚至 API 服务都足够使用。
全球 CDN 与边缘计算
除了传统 CDN 缓存,Cloudflare 还提供 Workers(无服务器边缘函数)和 Pages(静态网站托管),让你能在边缘直接运行代码,实现动态内容加速或数据处理。
免费计划覆盖大部分需求
对于绝大多数个人站长,Free 计划(无需付费)即可享受以下核心功能:
- 全球 CDN 缓存
- 共享 SSL 证书(通用)
- 基本 DDoS 防护
- 5 条 Page Rules(可自定义缓存、重定向等)
- 3 个 Workers 请求(每天 10 万次)
- Bot Fight Mode 基础爬虫防护
如果需要更精细的 WAF 规则、速率限制、自定义缓存键等,可以考虑 Pro ($20/月) 或 Business ($200/月) 计划。具体价格以 Cloudflare 官网为准,建议在购买前核实。
二、Cloudflare DNS 接入与最佳实践

使用 Cloudflare 的第一步是将域名的 DNS 托管到 Cloudflare。你需要将域名的 Nameserver 修改为 Cloudflare 分配的地址(通常类似 dahlia.ns.cloudflare.com 和 garrett.ns.cloudflare.com)。
修改 Nameserver 步骤
- 在你的域名注册商(如 Namecheap、GoDaddy、Namesilo)控制面板中,找到 DNS 管理区域。
- 将默认 Nameserver 替换为 Cloudflare 后台显示的地址。
- 等待全球生效(通常 5-30 分钟,最长 48 小时)。
- 返回 Cloudflare 后台,点击“重新检查”确认状态为“Active”。
DNS 记录配置技巧
添加记录时,注意“代理状态”开关(橙色云 = 经过 Cloudflare,灰色云 = 仅 DNS):
- A 记录 / CNAME 记录:如果希望经过 Cloudflare CDN 加速并隐藏真实 IP,务必开启代理(橙色云)。
- MX 记录:邮件服务必须关闭代理(灰色云),否则邮件可能无法正常收发。
- TXT 记录:用于验证、SPF 等,保持关闭代理。
常见 DNS 问题排错
- 修改 Nameserver 后长时间未生效:检查注册商是否锁定域名(需解锁)。
- 部分国家无法访问:检查是否误开了“代理”的非必要记录。
- 需要使用 DNSSEC:如果注册商启用了 DNSSEC,需在 Cloudflare 后台同步配置。
三、CDN 加速与缓存规则优化

Cloudflare 的缓存机制基于文件类型、URL 路径和 HTTP 头(Cache-Control、Expires)来决定是否缓存。默认情况下只会缓存静态资源(CSS、JS、图片等)。对于动态页面(如 WordPress 的文章页),需要手动添加缓存规则。
缓存规则工作原理
Cloudflare 边缘节点收到请求后:
- 检查是否有该资源的缓存副本,并且未过期。
- 若命中,直接返回(CF-Cache-Status: HIT)。
- 若未命中,则回源站获取,并根据响应头决定是否缓存。
针对 WordPress/静态站的不同缓存策略
| 网站类型 | 建议缓存策略 | Page Rules 示例 |
|---|---|---|
| WordPress(动态) | 只缓存静态资源,动态页面利用 Cache Everything + Bypass on Cookie | Cache Level: Cache Everything + Edge Cache TTL: 1h + Bypass Cache on Cookie: wp-* |
| 静态站点(HTML) | 全站缓存,设置较长的 TTL | Cache Level: Cache Everything + Edge Cache TTL: 1d |
| API 服务 | 根据响应头缓存,避免缓存敏感数据 | 设置 Cache-Control: public, max-age=60 |
对于 WordPress,推荐使用“Cache Everything”配合“Cache Deception Armor”和“Bypass Cache on Cookie”(包含 wordpressloggedin_、wp- 等),确保登录用户和后台不会因缓存而出现异常。
使用 Page Rules 或 Cache Rules 实现精准控制
Cloudflare 新推出了 Cache Rules(更灵活的配置方式),但免费版只有 Page Rules。以下是一个典型 WordPress 优化 Page Rules 示例:
- URL:
example.com/wp-content/*→ Cache Level: Cache Everything, Edge Cache TTL: 7 days - URL:
example.com/wp-admin/*→ Cache Level: Bypass - URL:
example.com/→ Cache Level: Cache Everything, Edge Cache TTL: 1 hour, Bypass Cookie:wordpress|wp-|comment
四、SSL/TLS 配置与 HTTPS 强制
Cloudflare 提供免费 SSL 证书,无需再自己申请 Let’s Encrypt。配置主要涉及加密模式选择。
SSL 加密模式选择
- Off(不推荐):完全关闭 SSL,访客只能 HTTP 访问。
- Flexible:Cloudflare 到访客为 HTTPS,但 Cloudflare 到你源站为 HTTP。适合源站未配置 SSL 的场景。
- Full:两端都是 HTTPS,但 Cloudflare 不验证源站证书。适合源站有自签证书的场景。
- Full (Strict):最安全,要求源站拥有有效 SSL 证书(可由 Let’s Encrypt 签发)。推荐使用。
自动 HTTPS 重写与 HSTS 设置
- 开启“Always Use HTTPS”将 HTTP 请求自动重定向到 HTTPS。
- 启用 HSTS(Strict-Transport-Security)并设置
max-age=31536000,强制浏览器始终使用 HTTPS,防止 SSL Strip 攻击。
边缘证书管理与自定义证书
Cloudflare 免费版提供通配符证书(覆盖域名和 *.域名),自动续期。如需使用自己的 EV 证书,可在“SSL/TLS” → “Origin Server”中上传自定义证书。
五、Web 应用防火墙 (WAF) 与安全防护
Cloudflare 的 WAF 可过滤恶意请求、SQL 注入、XSS 等攻击。免费版提供托管规则集 OWASP ModSecurity 核心规则(部分规则)。
WAF 托管规则集
在“安全” → “WAF” → “Managed Rules”中启用“Cloudflare Managed Ruleset”(免费版包含部分规则)。建议先设置为“模拟”模式,观察一段时间后再切换为“阻止”。
速率限制 (Rate Limiting) 配置
免费版提供基础速率限制(每分钟超过一定次数则触发动作)。例如:
- 针对登录页面
/wp-login.php:匹配(count > 20 in 1 minute)→ 阻止 1 小时。 - 针对 API 路径
/api/:匹配(count > 100 in 1 minute)→ 返回 429。
Bot Fight Mode 与爬虫管理
免费版可直接开启“Bot Fight Mode”,它会自动拦截已知的恶意爬虫、抓取工具,并验证可疑流量。但注意可能误伤部分正常 API 调用,需谨慎。
IP 访问规则与地理位置封锁
在“安全” → “IP Access Rules”中可手动阻止或允许特定 IP / IP 段。如果需要按国家封锁(例如禁止非目标国家访问),免费版也能在“Firewall Rules”中使用 IP 地域条件。
常用防护措施清单:
- 开启 WAF 托管规则(模拟 → 阻止)
- 设置速率限制(登录页面、API)
- 开启 Bot Fight Mode(或者自定义爬虫管理)
- 阻止已知漏洞扫描器的 IP 范围
- 对敏感路径(如
/xmlrpc.php)添加封锁规则
六、性能优化:Auto Minify、Rocket Loader、Polish 与 Brotli
Cloudflare 提供多项一键性能优化功能。
自动压缩与图片优化
- Auto Minify:自动删除 CSS、JS、HTML 中的空格和注释,减小体积。
- Polish:免费版提供基础图片无损压缩,Pro 版提供有损压缩(更小体积)。
- Brotli:比 Gzip 压缩率更高的算法,Cloudflare 默认支持,无需额外配置。
Rocket Loader 谨慎使用
Rocket Loader 可异步加载 JavaScript,提升首屏渲染速度。但它会改变脚本执行顺序,可能导致某些依赖 DOM 的插件失效。建议先测试,如果出现错误则关闭。
开启 Brotli 压缩
Cloudflare 自动根据浏览器支持情况选择 Brotli 或 Gzip,一般不需要手动干预。但可通过“速度” → “优化”检查是否开启。
七、进阶:Workers、Pages 与 Tunnel
Cloudflare 不仅是一个 CDN,更是一个无服务器平台。
Cloudflare Workers 无服务器函数
Workers 允许你在边缘节点运行 JavaScript 代码,适合构建动态 API、A/B 测试、URL 重写等。免费计划每天 10 万次请求,足够个人实验。
Cloudflare Pages 静态托管
Pages 可直接关联 Git 仓库,自动构建部署静态网站(如 Hugo、Jekyll、Next.js 静态导出)。它自带 CDN 和 SSL,甚至支持无服务器函数。如果你正在对比 VPS 和 Pages,可以参考我们之前的文章:AI 生成的网站还需要主机吗?VPS、虚拟主机、Vercel、Cloudflare Pages 怎么选。
Cloudflare Tunnel 内网穿透
如果你有内网服务不想暴露公网 IP,可以使用 Cloudflare Tunnel(原名 Argo Tunnel)。它通过 cloudflared 客户端建立隧道,将内网服务安全地暴露到 Cloudflare 边缘,无需开放防火墙端口。详细配置可参考:Cloudflare Access + Tunnel 双保险:为内网穿透增加企业级安全鉴权。此外,利用 Workers 和 R2 存储,你还可以搭建自己的图床:无需服务器和域名!用 Cloudflare ImgBed 搭建永久免费图床。
八、常见问题与避坑指南
缓存导致后台无法登录?排除规则
WordPress 管理员登录后,页面会被缓存导致其他人看到登录状态。解决办法:在 Page Rules 中设置 Bypass Cache on Cookie(包含 wordpressloggedin),同时在“缓存” → “配置”中开启“Cache Deception Armor”。
真实 IP 获取与源站配置
开启 Cloudflare 后,源站收到的 IP 都是 Cloudflare 的边缘节点 IP。需要在 Nginx/Apache 中配置 mod_cloudflare 或使用 CF-Connecting-IP 头部来获取真实访客 IP,否则日志、WP 后台都会显示错误 IP。
SSL 循环重定向
如果在源站和 Cloudflare 同时配置了 HTTPS 强制重定向,可能导致无限循环(Redirect Loop)。解决方法:源站只监听 HTTP(或只监听 HTTPS 但不做重定向),让 Cloudflare 负责从 HTTP 到 HTTPS 的跳转。
与 CDN 插件(如 WP Rocket)的冲突
WordPress 的缓存插件(如 WP Rocket、W3 Total Cache)可能会与 Cloudflare 缓存产生重复缓存或清除冲突。建议:关闭插件中的 CDN 功能,让 Cloudflare 专门处理 CDN 缓存,插件只负责页面静态化。如果使用 APO(Cloudflare 的 Automatic Platform Optimization 付费功能),则无需额外插件。
结论与行动建议
通过本文的详细配置,你应该能够将 Cloudflare 无缝集成到你的建站流程中,同时提升网站速度、安全性并节省服务器资源。不论你用的是 VPS 还是虚拟主机,都建议立即将域名接入 Cloudflare 并按照上述步骤逐一优化。
行动步骤:
- 注册 Cloudflare 免费账号并添加域名。
- 修改 Nameserver 并等待生效。
- 配置 SSL 为 Full (Strict),开启 Always Use HTTPS。
- 根据网站类型设置缓存规则(WordPress 请参考上文 Page Rules 示例)。
- 开启 WAF 托管规则(先模拟观察)。
- 开启 Auto Minify、Brotli、Polish 等性能选项。
- 如有内网服务,尝试部署 Cloudflare Tunnel。
最后提醒:文中提及的 Cloudflare Pro/Business 计划价格可能变动,请以 Cloudflare 官网价格为准。免费计划的功能也可能随时间调整,建议定期查看官方文档获取最新信息。
热门话题
原创文章,作者:kp51,如若转载,请注明出处:https://www.kepu51.com/instant-messaging/985.html
