📖 第一章:Cloudflare 核心服务概览
Cloudflare 不仅仅是一个 DNS 解析商,它是一个全球性的边缘云平台。对于大多数用户,以下四大核心服务最具价值:
1. 🌐 全球 CDN 加速
- 原理:将你的网站静态资源(图片、CSS、JS)缓存到全球 300+ 个城市的节点。
- 效果:用户访问速度显著提升,无论身处何地都能快速加载。
- 适用:所有类型的网站,尤其是包含大量静态资源的站点。
2. 🛡️ 网络安全防护
- DDoS 防护:免费提供企业级的分布式拒绝服务攻击防御,自动清洗恶意流量。
- WAF (Web 应用防火墙):拦截 SQL 注入、跨站脚本 (XSS) 等常见网络攻击。
- SSL/TLS 管理:免费提供通用 SSL 证书,支持多种加密模式,一键开启全站 HTTPS。
3. ⚡ 性能优化
- Auto Minify:自动压缩 HTML、CSS、JS 代码,减小文件体积。
- Brotli 压缩:比传统 Gzip 更高效的压缩算法。
- HTTP/2 & HTTP/3:自动启用最新网络协议,提升传输效率。
- Early Hints:提前告知浏览器所需资源,减少等待时间。
4. 🔄 智能流量管理 (Page Rules & Workers)
- Page Rules:通过简单规则实现 URL 转发、缓存控制、安全设置等(免费版含 3 条规则)。
- Workers:在无服务器环境下运行 JavaScript 代码,实现复杂的自定义逻辑(如高级转发、A/B 测试)。
🚨 第二章:经典故障案例复盘 (脱敏版)
🔍 案例背景
用户在配置域名 example-source.com 时,希望将其流量指向另一个域名 example-target.com。
- 初始操作:在 DNS 设置中添加了一条
CNAME记录,将www.example-source.com指向www.example-target.com,并开启了 Cloudflare 代理(橙色云朵)。 - 遇到问题:访问
example-source.com时,频繁出现 Error 525: SSL handshake failed。 - 尝试修复:用户将 CNAME 记录的代理状态关闭(变为灰色云朵/DNS Only),但问题依旧存在,甚至有时仍显示 Cloudflare 的错误页面。
💡 问题根源分析
- SSL 握手失败 (525):
- 当开启橙色云朵时,Cloudflare 作为中间人,试图以 HTTPS 协议连接目标服务器 (
example-target.com)。 - 如果目标服务器未正确配置 SSL 证书,或证书域名不匹配,或拒绝了 Cloudflare 的握手请求,就会报 525 错误。
- 关键点:CNAME 转发 + 橙色云朵 + 目标站 SSL 配置不当 = 高概率 525 错误。
- 当开启橙色云朵时,Cloudflare 作为中间人,试图以 HTTPS 协议连接目标服务器 (
- 关闭代理后仍报错:
- 缓存延迟:Cloudflare 全球节点生效需要时间(几分钟到几小时),用户可能仍访问到旧的缓存节点。
- 浏览器缓存:浏览器可能缓存了之前的错误页面或 HSTS 策略。
- Host 头不匹配:即使直连,目标服务器可能只接受
example-target.com的请求,当收到example-source.com的 Host 头时,可能拒绝服务或返回证书错误。
✅ 最终解决方案
放弃使用 CNAME 进行跨域名转发,改用 Cloudflare Page Rules 实现 301 永久重定向。
⚙️ 第三章:核心功能配置指南
1. DNS 解析设置
| 场景 | 记录类型 | 名称 | 内容 | 代理状态 | 说明 |
|---|---|---|---|---|---|
| 自建网站 | A | @, www | 服务器 IP | 🧡 橙色 | 享受 CDN 加速与安全防护 |
| 子域外包 | CNAME | blog | target.github.io | 🩶 灰色 | 若第三方不支持 CF SSL |
| 域名跳转 | A | @, www | 任意 IP (如 192.0.2.1) | 🧡 橙色 | 配合 Page Rules 使用 |
注意:跨域名转发不要直接使用 CNAME 指向另一个域名并开代理,极易引发 SSL 错误。
2. SSL/TLS 加密模式选择
在 SSL/TLS 菜单中,根据源服务器情况选择:
| 模式 | 用户 <-> CF | CF <-> 源站 | 推荐场景 |
|---|---|---|---|
| Flexible 🌟 | HTTPS | HTTP | 新手首选。源站无需证书,即可实现全站 HTTPS。 |
| Full | HTTPS | HTTPS | 源站有证书(可自签名/过期)。 |
| Full (Strict) | HTTPS | HTTPS | 源站有有效且受信任的证书(最安全)。 |
操作建议:
- 刚建站时选 Flexible,确保立刻能通。
- 后期在源站部署正式证书后,切换到 Full (Strict)。
3. 使用 Page Rules 实现域名跳转 (最佳实践)
这是解决跨域名转发最稳定、最 SEO 友好的方式。
步骤:
- 登录 Cloudflare 仪表盘,进入 Rules -> Page Rules。
- 点击 Create a Page Rule。
- URL 匹配模式:输入
example-source.com/*(注意/*表示匹配所有子路径)。 - 选择设置:下拉选择 Forwarding URL。
- 状态码:选择
301 - Permanent Redirect。 - 目标 URL:输入
https://www.example-target.com/$1($1代表保留原始路径)。 - 点击 Save and Deploy。
优点:
- 由 Cloudflare 边缘节点直接处理跳转,无需经过源站。
- 完全避免 SSL 握手问题。
- 对搜索引擎友好(301 永久重定向)。
4. 必开的性能与安全开关
- Always Use HTTPS (SSL/TLS -> Edge Certificates): 强制 HTTP 转 HTTPS。
- Auto Minify (Speed -> Optimization): 勾选 HTML, CSS, JS。
- Brotli (Speed -> Optimization): 开启高效压缩。
- Web Analytics (Analytics): 启用免费且隐私友好的流量统计。
🛠️ 第四章:故障自查清单 (Checklist)
当网站出现问题时,按此顺序排查:
- DNS 生效检查:使用
nslookup example.com确认解析 IP 是否符合预期。 - 代理状态确认:检查 DNS 记录旁的云朵颜色(橙色=代理,灰色=直连)。
- SSL 模式调整:尝试切换 Flexible/Full 模式,观察 525 错误是否消失。
- 绕过 CF 测试:直接通过
http://服务器IP或修改 hosts 文件访问源站,确认源站本身正常。 - 端口与防火墙:确认云服务器安全组已放行 80 (HTTP) 和 443 (HTTPS)。
- 清除缓存:使用浏览器无痕模式,或
Ctrl+F5强制刷新。 - Page Rules 优先级:若有多个规则,确认顺序是否正确(从上到下匹配)。
🚀 第五章:进阶玩法 (可选)
1. Cloudflare Workers
如果你需要更灵活的逻辑(如根据地区跳转、修改响应头、简单的 API 服务),可以使用 Workers 编写 JavaScript 代码运行在边缘节点。
- 场景:比 Page Rules 更强大的自定义转发、鉴权、A/B 测试。
- 成本:免费版每日 10 万次请求,足够个人使用。
2. Cloudflare Pages
免费托管静态网站(Hexo, Hugo, React, Vue 等)。
- 流程:连接 GitHub 仓库 -> 自动构建 -> 全球部署。
- 优势:零运维成本,自带 CDN 和 HTTPS。
3. R2 对象存储
类似 AWS S3,但无出口流量费。
- 场景:存储网站图片、视频、备份文件。
📝 结语
Cloudflare 是一个功能极其强大的平台,但正确的配置逻辑是成功的关键:
- 自建站:用
A 记录+橙色云+Flexible SSL。 - 要转发:用
Page Rules(301 跳转),别用CNAME硬连。 - 报错了:先改
Flexible模式,再查服务器端口,最后清本地缓存。
希望这份手册能帮助你充分利用 Cloudflare,构建更快、更安全的网站!