为什么要换?

Cloudflare 免费 CDN 很好,但国内访问速度有时候不理想。七牛云 CDN 在国内节点多,加速效果更好,而且每月有 10GB 免费流量,个人网站基本够用。

准备工作

  • 一个已经在 Cloudflare 托管的域名(比如 example.com

  • 七牛云账号(已完成实名认证)

  • 如果你的网站主要面向国内,域名需要备过案

第一步:在七牛云添加域名

  1. 登录七牛云控制台,进入 CDN 服务,点击 添加域名

  2. 填写你的域名(例如 www.yourname.comblog.yourname.com)。

  3. 源站配置

    • 如果你有自己的服务器(IP 固定),选 IP 地址,然后填你的服务器公网 IP。

    • 如果你用的是对象存储(如七牛云 Kodo),选 七牛云存储

  4. 回源 HOST:选择 自定义,填入你的域名(就是和加速域名一样的那个)。

  5. 回源协议:如果你的源站支持 HTTPS 就选 HTTPS,否则选 HTTP。选错也没事,后面可以改。

  6. 其他选项(缓存配置)保持默认就行,直接点 创建

创建后,七牛云会给你一个 CNAME 地址,长这样:yourdomain-id.qiniudns.com,记下来,待会儿要用。

第二步:在 Cloudflare 修改 DNS 解析

  1. 登录 Cloudflare,进入你的域名管理页。

  2. 找到你要加速的那个域名(比如 blog.yourname.com)的记录。

  3. 删除原来的 A 记录(如果存在)。

  4. 点击 添加记录

    • 类型:CNAME

    • 名称:你的子域名(比如 blog

    • 目标:粘贴七牛云给你的 CNAME 地址

    • 代理状态:一定要设为“仅 DNS”(灰色的云朵图标,不是橙色的)

  5. 保存。

如果你要加速根域名(比如 yourname.com 本身),Cloudflare 支持 CNAME 扁平化,同样操作即可。但是要注意:根域名用了 CNAME 之后,就不能再添加 MX 邮件记录了。

第三步:等待生效并验证

DNS 解析需要几分钟到几十分钟才能全球生效。你可以用以下命令在电脑上验证(Windows 打开 CMD,Mac 打开终端):

1. 检查 DNS 是否已指向七牛云

1
nslookup blog.yourname.com

如果看到一堆 IP 地址(比如 183.60.227.41 之类的),而且没有 cloudflare 字样,就说明解析成功了。

2测试 CDN 是否正常工作

1
curl -I http://blog.yourname.com
  • 如果返回的 Servernginx(或者 qiniu),说明流量已经走七牛云了。

  • 如果返回 Server: cloudflare 或者有 CF-RAY 字段,说明 Cloudflare 还在拦截,请检查第二步中是否把代理状态改成了“仅 DNS”。

如果看到 301 Moved Permanently 并且跳转到 https://,那是因为你在七牛云开启了“强制 HTTPS”,属于正常现象。

常见问题与解决

问题1:nslookup 正确,但 curl 还是显示 Cloudflare

原因:Cloudflare 的 DNS 扁平化可能会“劫持”流量,即使你关了代理。

解决办法:彻底更换 DNS 服务商,比如用 DNSPod 或阿里云 DNS。步骤:

  1. 在 DNSPod 添加你的域名。

  2. 去你的域名注册商(比如 Namesilo、GoDaddy)把 NS 记录改成 DNSPod 的。

  3. 在 DNSPod 里添加 CNAME 记录指向七牛云。

  4. 等生效后再测试。

问题2:根域名(yourname.com)同时存在 A 记录和 CNAME 记录

原因:同一个域名不能同时有 A 和 CNAME,会冲突。

解决办法:删除 A 记录,只保留 CNAME。

问题3:访问 http 总是跳转到 https

原因:七牛云开启了“强制 HTTPS”。

解决办法

  • 如果你接受 HTTPS,那就保持现状,无需操作。

  • 如果你想同时支持 HTTP,去七牛云 CDN 配置里找到 HTTPS 配置,把“强制 HTTPS”关掉。

费用要花多少钱?

七牛云 CDN 的计费很良心:

项目 价格
免费额度(HTTP) 每月 10 GB
超出后 HTTP 流量 0.24 元/GB
HTTPS 流量(无免费额度) 0.28 元/GB
新用户优惠 0.1 元买 10GB HTTPS 流量包(有效期12个月)

个人博客费用估算

  • 纯 HTTP,月流量 5 GB:0 元

  • 纯 HTTP,月流量 15 GB:约 1.2 元

  • HTTPS,月流量 15 GB:约 4.2 元(如果买了优惠包,约 1.5 元)

注意:一旦域名开启了 HTTPS,无论用户用 http:// 还是 https:// 访问,都会按照 HTTPS 价格计费。

总结

把域名从 Cloudflare 迁到七牛云并不难,核心就三步:

  1. 在七牛云添加域名,拿到 CNAME 地址。

  2. 在 Cloudflare 把域名的 A 记录改为 CNAME,并关闭代理(灰色云朵)。

  3. 等待解析生效,用 nslookupcurl 验证。

如果遇到流量还被 Cloudflare 拦截,最好的办法是换 DNS 服务商(DNSPod)。七牛云的费用对个人站长非常友好,每月基本免费。

照着这个教程操作,你也能轻松用上国内高速 CDN!