从域名接入到安全加速:新手也能上手的 Cloudflare 实战指南
Cloudflare 实战案例分享|零基础可学
在互联网项目的日常运营中,很多站长、开发者和企业都会遇到类似问题:网站访问速度慢、海外用户打不开、服务器被恶意扫描、图片资源占用带宽、域名解析不稳定、SSL 证书配置复杂、遭遇 DDoS 攻击时不知道如何处理……这些问题看起来专业门槛很高,但实际上,借助 Cloudflare 这类成熟的边缘网络平台,即使是零基础用户,也可以逐步搭建一套相对安全、稳定、快速的网站访问体系。
本文将以实战案例的方式,系统讲解 Cloudflare 的常见使用场景,包括域名接入、DNS 解析、HTTPS 配置、CDN 加速、安全防护、缓存优化、页面规则、访问控制以及常见故障排查。文章尽量用通俗语言说明,适合零基础用户学习,也适合已经有网站但想进一步优化的站长参考。
一、Cloudflare 是什么?为什么值得学习?
Cloudflare 是一家提供 CDN、DNS、安全防护、边缘计算、零信任访问等服务的互联网基础设施公司。简单理解,它就像是网站和访问者之间的一层“智能保护网”。
当用户访问你的网站时,原本的路径是:
用户浏览器 → 你的服务器
接入 Cloudflare 后,路径变成:
用户浏览器 → Cloudflare 全球节点 → 你的服务器
这带来了几个明显好处:
-
访问速度更快
Cloudflare 在全球拥有大量边缘节点,可以缓存静态资源,例如图片、CSS、JS 文件。用户访问时,很多资源不必每次都回源到你的服务器,而是直接从距离用户更近的节点加载。 -
服务器压力更小
静态资源被缓存后,源站服务器请求量会减少,带宽和 CPU 压力都会降低。 -
网站更安全
Cloudflare 可以过滤常见恶意流量,包括恶意爬虫、扫描器、DDoS 攻击、暴力请求等。 -
DNS 更稳定
Cloudflare 的 DNS 解析速度和稳定性在全球范围内表现较好,适合需要提升域名解析可靠性的用户。 -
HTTPS 配置更简单
即使源站暂时没有完整配置 SSL,也可以借助 Cloudflare 快速启用 HTTPS。当然,生产环境更推荐使用严格模式。
二、实战案例一:零基础接入 Cloudflare
假设你已经有一个网站:
域名:www.example.com
服务器 IP:123.123.123.123
现在希望通过 Cloudflare 管理域名解析,并开启 CDN 和 HTTPS。
1. 注册 Cloudflare 账号
进入 Cloudflare 官网,使用邮箱注册账号。注册完成后,在控制台中点击:
Add a site
输入你的根域名,例如:
example.com
注意,这里一般填写根域名,而不是 www.example.com。
2. 选择套餐
Cloudflare 提供免费套餐,对于个人博客、小型网站、测试项目来说,免费套餐已经足够使用。选择 Free Plan 即可。
3. 导入 DNS 记录
Cloudflare 会自动扫描你当前域名的 DNS 记录。你需要重点检查以下几类记录:
| 类型 | 名称 | 内容 | 说明 |
|---|---|---|---|
| A | @ | 123.123.123.123 | 根域名指向服务器 |
| A | www | 123.123.123.123 | www 子域名指向服务器 |
| CNAME | blog | example.com | blog 子域名指向主域名 |
| MX | @ | 邮件服务器地址 | 邮箱服务使用 |
如果扫描结果不完整,可以手动添加。
4. 理解“小云朵”状态
Cloudflare DNS 记录旁边通常有一个云朵图标:
-
橙色云朵:Proxied
表示流量经过 Cloudflare,可使用 CDN、安全防护、缓存等功能。 -
灰色云朵:DNS only
表示 Cloudflare 只负责 DNS 解析,流量不经过 Cloudflare。
一般网站访问记录,例如 A、AAAA、CNAME,可以开启橙色云朵。
邮件相关记录,例如 MX、邮件验证用的 TXT,通常不需要代理。
5. 修改域名服务器 NS
Cloudflare 会给你两个 Nameserver,例如:
alice.ns.cloudflare.com
bob.ns.cloudflare.com
你需要登录域名注册商后台,将原来的 NS 修改为 Cloudflare 提供的 NS。
修改后等待 DNS 生效,通常几分钟到数小时不等,最长可能需要 24-48 小时。
三、实战案例二:正确配置 HTTPS,避免访问报错
很多新手接入 Cloudflare 后,最常见的问题就是 HTTPS 报错、重定向循环、网站打不开。原因通常是 SSL/TLS 模式配置不当。
进入 Cloudflare 控制台:
SSL/TLS → Overview
你会看到几个模式:
| 模式 | 浏览器到 Cloudflare | Cloudflare 到源站 | 是否推荐 |
|---|---|---|---|
| Off | HTTP | HTTP | 不推荐 |
| Flexible | HTTPS | HTTP | 临时可用,不推荐长期使用 |
| Full | HTTPS | HTTPS | 可用 |
| Full Strict | HTTPS | HTTPS 且验证证书 | 推荐 |
推荐配置:Full Strict
最理想的方式是源站服务器也安装有效证书,然后 Cloudflare 使用:
Full (strict)
这样整个访问链路都是加密的:
用户 → HTTPS → Cloudflare → HTTPS → 源站
如果你不会申请证书,可以使用 Cloudflare Origin Certificate。操作路径:
SSL/TLS → Origin Server → Create Certificate
生成证书后,将证书和私钥配置到 Nginx、Apache 或宝塔面板中。
Nginx 示例配置
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /etc/nginx/ssl/example.com.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
root /var/www/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
同时建议开启 HTTP 自动跳转 HTTPS:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
四、实战案例三:用 Cloudflare 提升网站访问速度
网站慢的原因可能很多,例如服务器距离用户远、图片太大、静态资源没有缓存、DNS 解析慢、后端程序响应慢等。Cloudflare 可以解决其中一部分问题,尤其适合优化静态资源加载。
1. 开启缓存功能
进入:
Caching → Configuration
你可以看到缓存级别、浏览器缓存 TTL 等设置。
推荐新手使用:
Caching Level:Standard
Browser Cache TTL:4 hours 或 1 day
如果你的网站更新频繁,例如新闻站,可以设置短一些。
如果是企业官网、文档站、博客静态页,可以设置长一些。
2. 开启 Brotli 压缩
进入:
Speed → Optimization
开启:
Brotli:On
Brotli 可以压缩文本资源,例如 HTML、CSS、JS、JSON,从而减少传输体积。
3. 开启 Auto Minify
同样在 Speed 优化中,可以开启:
Auto Minify:JavaScript、CSS、HTML
它会自动压缩前端代码,减少空格、注释等内容。不过如果你的网站前端脚本较复杂,开启后需要测试页面是否正常。
4. 图片优化思路
Cloudflare 免费版对图片高级优化支持有限,但你仍然可以从源站做基础优化:
- 使用 WebP 格式;
- 控制图片尺寸,不要上传过大的原图;
- 对文章图片进行压缩;
- 使用懒加载;
- 对头像、Logo 等小图标使用合适尺寸。
如果你使用 WordPress,可以配合图片压缩插件,例如 ShortPixel、Imagify、EWWW Image Optimizer 等。
五、实战案例四:保护 WordPress 登录后台
WordPress 是很多站长使用的网站程序,也经常成为恶意扫描目标。常见攻击包括:
- 扫描
/wp-login.php; - 爆破管理员密码;
- 请求
/xmlrpc.php; - 扫描插件漏洞;
- 枚举用户名。
Cloudflare 可以帮助我们降低风险。
1. 创建防火墙规则保护登录页
进入:
Security → WAF → Custom rules
创建规则:
URI Path contains "/wp-login.php"
然后设置动作为:
Managed Challenge
这样访问登录页时,Cloudflare 会对访问者进行挑战验证,减少机器人爆破。
如果你有固定 IP,可以更严格:
如果访问路径包含 /wp-login.php
并且 IP 不等于你的固定 IP
则 Block
表达式示例:
(http.request.uri.path contains "/wp-login.php" and ip.src ne 你的IP地址)
动作选择:
Block
这样只有你的 IP 能访问后台登录页。
2. 限制 xmlrpc.php
如果你不用 WordPress 移动端发布、远程调用或 Jetpack 相关功能,可以直接拦截:
http.request.uri.path contains "/xmlrpc.php"
动作:
Block
这可以减少大量无意义请求。
3. 开启 Bot Fight Mode
进入:
Security → Bots
开启 Bot Fight Mode。它可以帮助阻止一些低质量机器人访问。
不过要注意,如果你的网站需要被正常搜索引擎抓取,不要误伤 Googlebot、Bingbot 等合法爬虫。一般 Cloudflare 会识别主流搜索引擎,但上线后仍建议观察日志。
六、实战案例五:应对突发流量和简单攻击
很多小网站平时访问量不大,但一旦被人恶意请求,服务器很容易卡死。Cloudflare 的安全功能可以在关键时刻救急。
1. Under Attack Mode
路径:
Security → Settings
开启:
I'm Under Attack!
开启后,访问者会先经过一个浏览器验证页面,验证通过后才能进入网站。
适用场景:
- 网站突然被大量请求;
- 服务器 CPU 飙升;
- 访问日志出现大量异常 IP;
- 短时间内被恶意刷接口;
- 小型 DDoS 或 CC 攻击。
不建议长期一直开启,因为会影响普通用户体验。
2. 设置安全级别
Cloudflare 安全级别可以设置为:
Essentially Off / Low / Medium / High / I'm Under Attack
日常建议使用:
Medium
如果你的网站容易被攻击,可以使用:
High
但安全级别越高,误拦截概率也会增加,需要结合实际情况调整。
3. 按国家或地区限制访问
如果你的网站只服务某些地区用户,可以使用 WAF 自定义规则限制其他地区访问。
例如,只允许中国大陆、香港、新加坡访问,其他地区挑战或拦截。
不过这类规则要谨慎使用,因为可能影响搜索引擎、海外用户、第三方服务回调等。
示例思路:
如果国家不在允许列表中,则 Managed Challenge
动作建议优先使用 Challenge,而不是直接 Block,这样能减少误伤。
七、实战案例六:用 Page Rules 或 Rules 优化缓存
Cloudflare 的规则功能非常实用,可以针对不同路径设置不同策略。
例如,一个 WordPress 网站通常有这些路径:
/
/wp-admin/
/wp-login.php
/wp-content/uploads/
/static/
不同路径应该使用不同缓存和安全策略。
1. 后台页面不缓存
对于后台管理页面:
example.com/wp-admin/*
应设置:
Cache Level:Bypass
否则可能出现登录状态异常、后台显示错乱等问题。
2. 上传图片强缓存
对于图片目录:
example.com/wp-content/uploads/*
可以设置较长缓存时间,例如:
Edge Cache TTL:1 month
Browser Cache TTL:1 month
这样图片访问速度更快,也能节省源站流量。
3. 静态站点全站缓存
如果你的网站是纯静态站点,例如 Hugo、Hexo、VitePress、VuePress 生成的页面,可以考虑全站缓存。
规则示例:
example.com/*
Cache Everything
Edge Cache TTL:1 day 或 1 week
但如果网站存在登录、购物车、用户中心等动态页面,不建议全站 Cache Everything,否则可能造成用户看到错误内容。
八、实战案例七:隐藏源站 IP,减少直接攻击
接入 Cloudflare 后,很多人以为源站就完全安全了。事实上,如果攻击者知道你的真实服务器 IP,仍然可以绕过 Cloudflare 直接攻击源站。
因此,我们需要尽量隐藏源站 IP。
1. 不要暴露真实 IP
常见暴露方式包括:
- 历史 DNS 解析记录;
- 邮件服务器与网站服务器共用 IP;
- 其他子域名未经过代理;
- GitHub、配置文件、错误页面泄露;
- 服务器主动对外请求时暴露 IP。
2. 源站防火墙只允许 Cloudflare IP
更进一步,可以在服务器防火墙中只允许 Cloudflare IP 访问 80 和 443 端口。
Cloudflare 官方提供 IP 段列表,你可以在服务器上配置防火墙规则。
以 Linux ufw 为例,思路如下:
ufw default deny incoming
ufw allow ssh
ufw allow from Cloudflare_IP段 to any port 80
ufw allow from Cloudflare_IP段 to any port 443
ufw enable
实际配置时需要将 Cloudflare 的所有 IPv4、IPv6 段加入规则,并定期更新。
这样即使别人知道你的源站 IP,也无法直接访问网站端口。
九、实战案例八:Cloudflare DNS 的正确用法
DNS 是很多新手容易忽视的部分。配置错误可能导致网站打不开、邮箱收不到信、验证失败等问题。
1. A 记录
A 记录用于将域名指向 IPv4 地址:
example.com → 123.123.123.123
2. AAAA 记录
AAAA 记录用于 IPv6 地址。如果你的服务器没有正确配置 IPv6,不要随便添加 AAAA 记录,否则部分用户可能访问失败。
3. CNAME 记录
CNAME 用于别名解析,例如:
www → example.com
表示访问 www.example.com 时,最终指向 example.com。
4. MX 记录
MX 是邮箱解析记录,例如企业邮箱、Google Workspace、腾讯企业邮等都需要配置 MX。MX 记录不要开启代理,因为邮件服务不是 HTTP/HTTPS 流量。
5. TXT 记录
TXT 常用于域名验证,例如:
- SPF;
- DKIM;
- DMARC;
- Google Search Console;
- Microsoft 365;
- GitHub Pages 验证;
- SSL 证书验证。
这类记录通常不需要代理,只需要正确填写即可。
十、常见问题排查
问题一:接入后网站打不开
可能原因:
- DNS 记录没有正确添加;
- 源站服务器 IP 填错;
- 服务器防火墙阻止 Cloudflare;
- SSL/TLS 模式选择错误;
- 源站 Nginx 或 Apache 配置异常。
排查顺序:
先确认源站 IP 是否能访问
再确认 Cloudflare DNS 记录
再检查 SSL 模式
最后查看服务器日志
问题二:出现 522 错误
522 表示 Cloudflare 连接源站超时。常见原因:
- 源站服务器宕机;
- 防火墙拦截 Cloudflare IP;
- 源站负载过高;
- 网络线路不稳定;
- Web 服务未监听 80/443 端口。
解决方法:
- 检查服务器是否在线;
- 检查 Nginx/Apache 是否运行;
- 放行 Cloudflare IP;
- 查看 CPU、内存、带宽占用;
- 检查安全组规则。
问题三:出现 525 或 526 错误
这通常和 SSL 有关:
- 525:SSL 握手失败;
- 526:证书无效,常见于 Full Strict 模式。
解决方法:
- 给源站安装有效证书;
- 使用 Cloudflare Origin Certificate;
- 检查证书域名是否匹配;
- 检查证书是否过期;
- 临时切换到 Full 测试,但长期建议 Full Strict。
问题四:网站样式错乱
可能原因:
- CSS/JS 被缓存旧版本;
- Auto Minify 导致脚本异常;
- Rocket Loader 与主题插件冲突;
- 混合内容问题,即 HTTPS 页面加载 HTTP 资源。
解决方法:
- 清除 Cloudflare 缓存;
- 清除浏览器缓存;
- 关闭 Auto Minify 测试;
- 检查控制台错误;
- 将资源链接统一改为 HTTPS。
十一、推荐的新手配置清单
如果你是零基础用户,可以先按下面的配置开始:
DNS
- 网站 A/CNAME 记录开启橙色云朵;
- 邮箱 MX、TXT 记录保持 DNS only;
- 不确定用途的记录先不要乱改。
SSL/TLS
- 推荐使用 Full Strict;
- 源站安装有效证书;
- 开启 Always Use HTTPS;
- 开启 Automatic HTTPS Rewrites。
缓存
- Caching Level:Standard;
- Browser Cache TTL:4 hours 或 1 day;
- 静态资源可单独设置长缓存;
- 更新网站后及时 Purge Cache。
安全
- Security Level:Medium;
- WordPress 登录页添加 Challenge;
- 不使用 xmlrpc.php 时直接拦截;
- 遭遇攻击时临时开启 Under Attack Mode。
性能
- 开启 Brotli;
- 谨慎开启 Auto Minify;
- 图片在上传前先压缩;
- 不盲目开启所有优化功能,上线后逐项测试。
十二、学习 Cloudflare 的正确思路
很多新手使用 Cloudflare 时,容易陷入两个误区:
误区一:以为开启 Cloudflare 就一定变快
Cloudflare 确实能提升很多网站的访问体验,但它不是万能加速器。如果你的源站程序本身很慢、数据库查询很慢、页面生成耗时很高,仅靠 CDN 不能彻底解决问题。
正确做法是:
源站性能优化 + 静态资源缓存 + 合理安全策略 + 稳定 DNS
误区二:看到功能就全部打开
Cloudflare 功能很多,但并不是全部都适合你的网站。比如:
- Rocket Loader 可能和某些前端框架冲突;
- Auto Minify 可能影响复杂 JS;
- Cache Everything 不适合动态网站;
- 国家拦截可能影响搜索引擎;
- 安全级别过高会影响真实用户访问。
正确做法是每次只调整一项功能,观察网站是否正常,再继续优化。
十三、一个完整的实战方案示例
假设你有一个 WordPress 博客,主要访问者来自国内和海外,希望提升速度、减少攻击,并保证后台安全。
可以采用以下方案:
- 域名接入 Cloudflare;
example.com和www.example.com开启代理;- SSL 使用 Full Strict;
- 源站安装 Cloudflare Origin Certificate;
- 开启 Always Use HTTPS;
- 开启 Brotli;
- 缓存级别使用 Standard;
/wp-admin/*设置 Bypass Cache;/wp-content/uploads/*设置长缓存;/wp-login.php设置 Managed Challenge;/xmlrpc.php设置 Block;- 日常安全级别设为 Medium;
- 遭遇攻击时开启 Under Attack Mode;
- 服务器防火墙只允许 Cloudflare IP 访问 80/443;
- 定期查看 Security Events,判断是否有误拦截。
这套方案不需要很高技术门槛,但能明显提升网站的基础安全和访问体验。
十四、总结
Cloudflare 对零基础用户来说,是一个非常值得学习的工具。它不仅能提供 DNS 解析、CDN 加速、HTTPS 证书、安全防护,还能帮助站长以较低成本搭建网站基础设施。通过本文的几个实战案例,我们可以掌握 Cloudflare 的核心使用方法:
- 会接入域名;
- 会配置 DNS;
- 会选择正确的 SSL/TLS 模式;
- 会开启基础缓存和压缩;
- 会保护 WordPress 后台;
- 会应对简单攻击;
- 会排查常见错误;
- 会根据网站类型设置规则。
对于新手来说,不必一开始就研究所有高级功能。最好的学习方式是:先接入一个测试域名,从 DNS、SSL、缓存、安全规则开始,一项一项实践。等你熟悉基础功能后,再深入学习 Workers、Zero Trust、R2、Pages、Tunnel 等进阶产品。
Cloudflare 的价值不只是“让网站变快”,更重要的是让你理解现代网站运行中涉及的 DNS、HTTPS、CDN、安全、边缘网络等基础知识。只要按照正确步骤实践,即使零基础,也能逐步搭建出一套稳定、安全、可扩展的网站访问方案。