摘要:Cloudflare 的免费套餐就能提供 CDN、免费 SSL 证书和基础防护,适合海外服务器上的个人站和小项目。本文一步步讲添加站点、修改域名 NS、选择 SSL/TLS 加密模式(为什么要用 Full strict)、常用缓存和安全设置,以及内地访问速度要注意什么。

Cloudflare 位于访客和你的服务器之间:访客先连到 Cloudflare 的节点,节点再去你的服务器(源站)取内容。这样做有三个好处:静态文件就近缓存、自动提供 HTTPS 证书、隐藏源站 IP 并挡掉一部分攻击。

1. 添加站点

  1. 注册并登录 Cloudflare。
  2. 点“添加站点”(Add a domain),输入根域名,例如 example.com。
  3. 选择 Free 套餐。
  4. Cloudflare 会自动扫描现有的 DNS 记录。逐条核对,确保网站、邮件(MX)等记录都在。

2. 修改域名的 NS(名称服务器)

Cloudflare 会给你两个 NS 地址,形如 xxx.ns.cloudflare.com。

  1. 登录你的域名注册商后台(阿里云、腾讯云、Namecheap 等)。
  2. 找到“修改 DNS 服务器”,把原来的 NS 换成 Cloudflare 给的两个。
  3. 等待生效,一般几分钟到 24 小时。Cloudflare 后台显示“Active”就表示好了。

3. 代理开关:橙色云和灰色云

DNS 记录旁边有一朵云:

  • 橙色(Proxied):流量经过 Cloudflare,才有 CDN 和防护。
  • 灰色(DNS only):只做解析,直连源站。

网站的 A 记录或 CNAME 开橙色;邮件、SSH 这类非 HTTP 服务要用灰色。

4. 选择 SSL/TLS 加密模式

这是最容易出错的一步。Cloudflare 有两段连接:访客到 Cloudflare、Cloudflare 到源站。加密模式决定第二段怎么处理。

Cloudflare 免费 CDN 与 SSL 接入教程:改 NS、选加密模式、开缓存-有序
Cloudflare 官方文档“Encryption modes”页面截图:访客到 Cloudflare 是第一段连接,Cloudflare 到源站是第二段连接,官方推荐 Full 或 Full (strict)
模式第二段连接建议
Off不加密不要用
FlexibleCloudflare 到源站用 HTTP容易出现重定向死循环,也不安全
Full加密,但不校验源站证书过渡用
Full (strict)加密,并校验源站证书推荐

要用 Full (strict),源站必须有有效证书,有两种办法:

  • 在源站用 Let's Encrypt 申请免费证书;
  • 在 Cloudflare 的“SSL/TLS → 源服务器”里生成 Origin 证书,装到源站(Nginx 或宝塔里填证书和私钥)。这个证书只被 Cloudflare 信任,有效期可以选到 15 年。

然后在“边缘证书”里打开:

  • 始终使用 HTTPS(Always Use HTTPS)
  • 自动 HTTPS 重写

5. 缓存设置

  • 静态资源(图片、CSS、JS)默认就会缓存。
  • WordPress 这类动态站,不要缓存后台和登录页。如果用缓存规则缓存整页,要排除 /wp-admin、/wp-login.php,以及带登录 Cookie 的请求。
  • 更新网站后样式不对,到“缓存 → 配置 → 清除缓存”里清一下。

6. 基础安全设置

  • “安全 → 设置”里把安全级别设为中等。
  • 遇到攻击时临时打开 Under Attack 模式。
  • 用 WAF 自定义规则拦截 /xmlrpc.php 等常被扫描的路径。
  • 源站防火墙只放行 Cloudflare 的 IP 段(官方公布在 cloudflare.com/ips),防止别人绕过 CDN 直连源站。

内地访问要注意什么

Cloudflare 的免费套餐不使用内地节点,内地访客通常会连到境外节点,速度因运营商而异。读者主要在内地、而且对速度要求高的话,可以考虑内地服务器加国内 CDN,但需要先 ICP 备案。

相关阅读