Patet

接入 Cloudflare

给你的网站套上免费的 CDN、DNS、HTTPS 和基础防护——怎么添加站点、配 DNS、选 SSL 模式、做缓存与安全。

Cloudflare 在你的网站前面免费帮你做四件大事:CDN 加速、DNS 解析、HTTPS 证书、基础防护。它把全球访客的请求先接到自己的边缘节点,再转给你的源站——访客更快,源站更省、更安全。个人项目几乎必上,强烈推荐。

为什么用 Cloudflare / Why Cloudflare

  • 免费 CDN / 缓存 —— 静态资源(图片、JS、CSS)缓存在全球边缘节点,访客就近取用,源站带宽和负载大幅下降。
  • 免费 SSL —— 自动签发并续期 HTTPS 证书,你不用碰 Let's Encrypt,浏览器小绿锁直接到手。
  • DDoS 防护 —— 免费套餐就自带 L3/L4 容量级 DDoS 缓解,扛流量攻击不额外花钱。
  • 隐藏源站 IP —— 访客只看到 Cloudflare 的 IP,你的服务器真实地址不暴露在公网,扫描和直连攻击更难。
  • 流量分析 —— 免费看请求量、缓存命中率、威胁拦截、地区分布,比自己装统计省事。

这些在免费套餐里就全有了,对个人项目和中小站点完全够用。

添加站点 / Add your site

接入分两步:先在 Cloudflare 添加域名,再去域名注册商那边把 nameservers 改成 Cloudflare 给的两个地址。还没买域名的,先看 购买域名

在 Cloudflare 添加域名

注册 Cloudflare 账号后,点 Add a site,输入你的裸域名(如 example.com,不带 www),选 Free 套餐。

让它扫描现有 DNS

Cloudflare 会自动扫描你域名当前的 DNS 记录并导入。核对一遍:确认 A、CNAME、MX 等记录都在,缺的手动补上(尤其是邮箱相关的 MX、TXT)。

在注册商改 nameservers

Cloudflare 会给你两个 nameserver 地址(形如 xxx.ns.cloudflare.com)。登录你的域名注册商后台,把域名的 nameservers 改成这两个,删掉原来的

等待激活

改完 nameservers 后,Cloudflare 会自动检测。生效通常几分钟到几小时(最长 24–48 小时)。域名状态变成 Active 就接入成功了。

改 nameservers 是「全托管」方式,把 DNS 完全交给 Cloudflare,后面所有记录都在 Cloudflare 后台管理,也是用代理(橙云)功能的前提。

配置 DNS 记录 / DNS records

DNS 记录告诉浏览器「这个域名指向哪里」。最常用的几种:

  • A / AAAA —— 把域名指向一个 IP 地址(A 是 IPv4,AAAA 是 IPv6)。源站是自己的服务器时用它。
  • CNAME —— 把域名指向另一个域名(如托管平台给的 your-app.vercel.app)。
  • MX —— 邮件服务器,收邮件用。
  • TXT —— 验证、SPF/DKIM 等纯文本记录。

橙云 vs 灰云 / Proxied vs DNS only

每条 A / AAAA / CNAME 记录前面有个云朵图标:

  • 橙云(Proxied,代理) —— 流量先经过 Cloudflare 再到你源站,CDN、缓存、HTTPS、DDoS 防护、隐藏源站 IP 全靠它。网站主入口都该用橙云。
  • 灰云(DNS only,仅解析) —— Cloudflare 只做解析,流量直连你的源站,不经过 Cloudflare。MX 等不能被代理的记录、或你想直连的子域名用灰云。
类型名称内容代理
A@203.0.113.10(你的服务器 IP)橙云
CNAMEwwwexample.com橙云
CNAMEappyour-app.vercel.app橙云
MX@mx.your-mail.com灰云(DNS only)
TXT@v=spf1 include:...灰云(不可代理)

SSL/TLS 模式 / SSL modes

SSL/TLS → Overview 里选加密模式,决定 Cloudflare 到你源站这一段怎么加密:

  • Off —— 不加密,别用。
  • Flexible —— 浏览器到 Cloudflare 加密,但 Cloudflare 到源站是明文 HTTP。看着是 HTTPS,其实后半段裸奔,不要用
  • Full —— 全程加密,但不校验源站证书(自签也行)。
  • Full (strict) —— 全程加密 且校验源站证书强烈推荐这个。

源站没有有效证书的话,装一张免费的 Cloudflare Origin Certificate(在 SSL/TLS → Origin Server 里生成),就能安全地用 Full (strict)。

千万别用 Flexible。 如果你的服务器自己又做了 HTTP→HTTPS 跳转,Flexible 会导致无限重定向循环;而且 Cloudflare 到源站走明文,属于不安全连接。正确做法是源站启用 HTTPS,模式选 Full (strict)

SSL/TLS → Edge Certificates 里再打开:

  • Always Use HTTPS —— 所有 HTTP 请求自动 301 到 HTTPS。
  • Automatic HTTPS Rewrites —— 自动把页面里的 http:// 资源链接改写成 https://,避免混合内容警告。

缓存 / Caching

默认情况下,Cloudflare 会缓存常见的静态资源(图片、CSS、JS、字体等),HTML 默认不缓存

  • Cache Rules / Page Rules —— 在 Caching → Cache Rules 里按路径/扩展名定制缓存:比如给 /static/* 设更长的 Edge Cache TTL,或对 /api/* 明确「不缓存」。Page Rules 是旧版做法,新项目优先用 Cache Rules。
  • 部署后清缓存 —— 上线新版本后,旧文件可能还在边缘缓存里。到 Caching → Configuration → Purge Cache,紧急时用 Purge Everything,平时更推荐按 URL 单独清,避免缓存命中率骤降。
  • 动态应用别缓存 HTML —— 带登录态、个性化内容的页面如果被缓存,会出现「A 看到 B 的数据」。确认 HTML 响应带了正确的 Cache-Control(如 no-storeprivate),或用 Cache Rule 显式 Bypass。

给文件名带哈希的静态资源(如 app.3f9a.js)设很长的缓存即可,因为内容变了文件名也变。HTML 入口保持不缓存或短缓存,这样部署后无需清缓存也能让用户拿到最新版。

基础安全 / Basic security

Cloudflare 免费套餐就能挡掉一大批垃圾流量。建议依次开启:

  • WAF 托管规则 —— Security → WAF 里打开 Cloudflare 的 Managed Rules,自动拦截常见的注入、扫描等攻击。
  • Bot Fight Mode —— Security → Bots,免费拦截明显的恶意爬虫和机器人。
  • Rate Limiting(限流) —— 对登录、API 等敏感端点设速率限制(如「每分钟超过 N 次就拦」),挡住暴力破解和滥用。免费套餐有基础额度。
  • Always Use HTTPS —— 上面已说,强制全站 HTTPS。
  • HSTS —— 告诉浏览器「以后只用 HTTPS 访问本站」。在 SSL/TLS → Edge Certificates → HSTS 开启。确认 HTTPS 在所有子域名都正常后再开,否则会把用户锁在打不开的状态里。

更系统的服务器加固、防火墙、备份等见 运维安全;想让站点被搜索引擎收录见 SEO 优化

常见坑 / Common pitfalls

  • 重定向循环 —— SSL 模式选了 Flexible,而源站又强制 HTTP→HTTPS 跳转:Cloudflare 用 HTTP 回源 → 源站跳到 HTTPS → 又被 Cloudflare 以 HTTP 回源……死循环。解法:源站上 HTTPS,模式改 Full (strict)
  • 代理了不该代理的记录 —— 把 MX 之类的记录设成橙云会让邮件收发失败;只有 HTTP/HTTPS 流量能走代理。邮件 MX、以及需要直连的记录一律用灰云(DNS only)。
  • 缓存了动态内容 —— 不小心把带登录态的 HTML 或 API 响应缓存住,会导致用户看到别人的数据或过期内容。动态内容务必 Bypass 缓存或设 Cache-Control: no-store

本步骤检查清单

  • 在 Cloudflare 添加了站点,并在注册商把 nameservers 改成了 Cloudflare 的两个地址,状态已 Active
  • 核对了 DNS 记录,网站入口用橙云(代理)MX 等用灰云(DNS only)
  • SSL 模式设为 Full (strict),并开启了 Always Use HTTPSAutomatic HTTPS Rewrites
  • 配好了缓存策略,动态/HTML 不被错误缓存,知道部署后怎么 Purge Cache
  • 开启了 WAF 托管规则Bot Fight Mode 和必要的限流;确认 HTTPS 全站正常后再开 HSTS

完整清单见 上线自查清单

本页目录