海外云服务器接入Cloudflare CDN免费加速+全站HTTPS完整教程(2026最新版)

📅 · 海外云服务器自建服务教程 - ChengziCloud

一句话结论

Meta Description: 把海外云服务器网站接入 Cloudflare 免费 CDN 完整教程:DNS 接入、橙色云朵代理、SSL/TLS 加密模式选择、Nginx 强制 HTTPS 与真实访客 IP 透传、缓存加速规则、源站防火墙只放行 Cloudflare IP,全部命令可直接复制执行…

本文要点
  • 前言:10分钟让网站全球加速还免费
  • 服务器配置推荐与价格对比
  • 第一步:确认服务器 IP 与域名解析现状
  • 第二步:注册 Cloudflare 账号并添加站点
  • 第三步:把域名 NS 修改到 Cloudflare
  • 第四步:添加 DNS 记录,打开橙色云朵
  • 第五步:选择 SSL/TLS 加密模式
  • 第六步:Nginx 强制 HTTPS + 透传真实访客 IP

Meta Description: 把海外云服务器网站接入 Cloudflare 免费 CDN 完整教程:DNS 接入、橙色云朵代理、SSL/TLS 加密模式选择、Nginx 强制 HTTPS 与真实访客 IP 透传、缓存加速规则、源站防火墙只放行 Cloudflare IP,全部命令可直接复制执行,附服务器配置推荐与价格对比表,10 分钟让网站全球加速还免费。

关键词:Cloudflare CDN 接入、海外云服务器加速、网站全站HTTPS、Cloudflare免费版、隐藏服务器真实IP、CDN缓存规则、Cloudflare SSL模式、源站防火墙加固

前言:10分钟让网站全球加速还免费

一句话回答:把域名 DNS 接入 Cloudflare 免费版并打开橙色云朵(Proxied),网站就能自动获得全球 CDN 加速、免费全站 HTTPS、基础 DDoS 防护和隐藏源站真实 IP 四项能力,全程不用改业务代码,从注册到生效大约 10-15 分钟。CDN 从来不是大站的专利,个人博客、企业官网、跨境电商独立站都适用。很多站长买了海外云服务器,配好 Nginx 和证书就上线了,结果国内用户访问慢、源站 IP 被扫描、遇到 CC 攻击只能干瞪眼——这些恰好是 Cloudflare 免费版就能解决的问题。本文按"注册接入 → 加密模式 → Nginx 适配 → 缓存加速 → 源站加固 → 验证排错"的完整链路手把手操作,命令在 CentOS 7 和 Ubuntu 22.04 上都能直接复制执行。

🚀 还没有海外云服务器?通过 5.chengzicloud.cloud 选购阿里云/AWS/腾讯云国际版,享专属折扣和中文技术支持。

服务器配置推荐与价格对比

Cloudflare 本身免费,只要求你的网站有公网服务器,对配置要求不高,按业务规模选档即可:

使用场景CPU/内存磁盘带宽参考月费适合规模
个人博客/轻量站1核1G20-40G SSD1-2TB$3-5日IP 5000 以内
企业官网/商城2核2G40-80G SSD2-4TB$6-10日IP 5万 以内
高并发/视频站2核4G+80G+ NVMe4TB+$12-20日IP 10万+

接入 CDN 后,图片、CSS、JS 等静态请求由 Cloudflare 全球 300+ 节点就近返回,不再回源,源站压力大幅下降,1核1G 的小机器也能扛住比平时大得多的流量。主流海外云服务商对比如下(价格随促销浮动,以官网为准):

服务商月付年付(折扣后)数据中心优点
阿里云国际版 ECS$4.2$3.2/月新加坡/香港/硅谷中文面板、支持支付宝
AWS Lightsail$3.5$3.5/月全球20+区域新用户免费套餐、生态完善
腾讯云国际版 CVM$4.5$3.5/月香港/新加坡/东京低延迟到国内、微信支付
Vultr$6.0$6.0/月全球32个按小时计费、随时销毁
DigitalOcean$6.0$6.0/月全球14个文档最完善、社区教程多

💡 新手建议:选阿里云国际版或腾讯云国际版香港节点,延迟低、有中文面板,通过 5.chengzicloud.cloud 购买还可享额外折扣。

第一步:确认服务器 IP 与域名解析现状

接入前先确认两件事:服务器公网 IP 和域名当前的解析状态(下文把 example.com 换成你自己的域名)。


// 查看服务器公网 IP(以云厂商控制台为准,这里仅作确认)
curl -4 -s ifconfig.me

// 查看域名当前解析到的 IP(应能看到一串 A 记录)
dig +short example.com
dig +short www.example.com

// 没有 dig 命令时先安装
// CentOS 7: yum install -y bind-utils
// Ubuntu 22.04: apt install -y dnsutils

记录下当前所有 DNS 记录(A、CNAME、MX、TXT 等),一会儿要原样搬到 Cloudflare。特别注意 MX 邮件记录:如果你在用企业邮箱,漏搬 MX 记录会导致收不到邮件。

第二步:注册 Cloudflare 账号并添加站点

  1. 打开 https://dash.cloudflare.com ,用邮箱注册(免费版不需要绑信用卡)。
  2. 登录后点击 Add a site(添加站点),输入你的域名,点击 Continue。
  3. 套餐选择 Free 免费计划。
  4. Cloudflare 会自动扫描你域名的现有 DNS 记录并列出,先不要动,等一会儿核对。

提示:如果域名注册商开启了域名隐私保护,扫描结果可能不完整,后续手动补记录即可,不影响接入。

第三步:把域名 NS 修改到 Cloudflare

这是整个流程里唯一需要等一会儿的步骤。添加站点完成后,Cloudflare 会给你两个形如 xxx.ns.cloudflare.com 的 NS(名称服务器)地址。

  1. 登录你的域名注册商,或域名 DNS 托管平台(阿里云云解析、腾讯云 DNSPod、AWS Route 53 等)。
  2. 找到域名的 DNS 服务器/Name Server 设置,把原来的 NS 全部删掉,替换成 Cloudflare 给的两个地址,保存。
  3. 回到 Cloudflare 面板,状态会在几分钟到 24 小时内从 Pending 变成 Active。

// 查看切换进度:权威 NS 显示为 *.ns.cloudflare.com 即完成
dig +short NS example.com

切换期间网站不会中断:老 NS 还在生效,新 NS 同步完成后自动接管,解析记录是你在 Cloudflare 里配置的那份。

第四步:添加 DNS 记录,打开橙色云朵

在 Cloudflare 的 DNS → Records 页面,把第一步记下的记录逐条核对/添加:

类型名称内容代理状态
A@服务器公网IP橙色云朵(Proxied)
Awww服务器公网IP橙色云朵(Proxied)
MX@邮件服务器地址灰色云朵(DNS only)
TXT@SPF/DKIM 等灰色云朵(DNS only)

橙色云朵 = Proxied(走 CDN,加速 + 隐藏 IP + 有防护);灰色云朵 = DNS only(只解析不加速)。网站 A 记录必须开橙色云朵,邮件类记录(MX/TXT)必须保持灰色,否则邮件会被 Cloudflare 代理拦截。子域名(如 blog.example.com)同理,加一条 A 记录并开橙色云朵即可。

第五步:选择 SSL/TLS 加密模式

进入 SSL/TLS → Overview,有四种模式,核心区别是"访客到 Cloudflare"和"Cloudflare 到源站"这两段是否加密:

模式访客→CFCF→源站源站要求适用场景
Off明文明文无仅测试
FlexibleHTTPSHTTP无证书临时过渡
FullHTTPSHTTPS任意证书(含自签)有自签证书
Full (Strict)HTTPSHTTPS有效证书(Let's Encrypt)生产环境首选

推荐 Full (Strict):源站用 Let's Encrypt 免费证书(配置教程见文末延伸阅读),或 Cloudflare 的 SSL/TLS → Origin Server 里创建 15 年有效的源站证书,然后按第六步配置 Nginx。

避坑:选 Flexible 时,Nginx 里不要写 80→443 跳转,否则"访客→CF 走 HTTPS、CF→源站走 HTTP 被 301 到 443"会形成跳转死循环。

第六步:Nginx 强制 HTTPS + 透传真实访客 IP

源站证书就绪后,配置 Nginx。先在 Nginx 配置目录准备好证书文件(Fullchain 和私钥),再写入下面的 server 块:


server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate     /etc/nginx/ssl/fullchain.pem;
    ssl_certificate_key /etc/nginx/ssl/privkey.pem;
    root /var/www/site;
    index index.php index.html;
}

关键一步:透传真实访客 IP。 开 CDN 后,Nginx 日志里所有访问都来自 Cloudflare 节点 IP,必须用 set_real_ip_from 把 Cloudflare 官方 IP 段标记为可信代理,再用 CF-Connecting-IP 请求头还原访客真实 IP:


// 生成 Cloudflare 官方 IP 段配置
for ip in $(curl -s https://www.cloudflare.com/ips-v4); do
  echo "set_real_ip_from $ip;" >> /etc/nginx/cloudflare.conf
done
for ip in $(curl -s https://www.cloudflare.com/ips-v6); do
  echo "set_real_ip_from $ip;" >> /etc/nginx/cloudflare.conf
done
echo "real_ip_header CF-Connecting-IP;" >> /etc/nginx/cloudflare.conf

// 在 /etc/nginx/nginx.conf 的 http{} 块内加一行:
// include /etc/nginx/cloudflare.conf;

// 检查配置并重载
nginx -t && systemctl reload nginx

不配这一步,网站日志、防 CC 插件、访问统计全部会拿到 Cloudflare 节点 IP,排查问题非常痛苦。

第七步:配置缓存加速规则

免费版有两种配置入口:老的 Page Rules(3 条)和新版 Cache Rules(免费 10 条),推荐用 Cache Rules。进入 Caching → Cache Rules,点击 Create rule:

  • 规则名称:static-assets
  • When incoming requests match:URI Path starts with /wp-content/ 或按你的站点目录(如 /assets/)
  • Then:Cache Eligibility 设为 Eligible for cache,Edge TTL 与 Browser TTL 设为 1 个月

再建一条按扩展名兜底的规则(静态文件不区分目录都缓存 30 天):

匹配条件动作
URI 路径以 .jpg/.jpeg/.png/.gif/.webp/.css/.js/.woff2 结尾缓存,Edge TTL 30 天

动态页面不要缓存:PHP 页面、登录接口、购物车、API 路径一律保持默认(不缓存)。缓存了动态页会导致用户看到过期数据,比不缓存更糟。改完规则后,在 Caching → Configuration 里点 Purge Everything 清一次缓存,让新规则立即生效。

第八步:源站安全加固(防火墙只放行 Cloudflare IP)

开 CDN 后源站 IP 对外只暴露给 Cloudflare 节点,可以在源站防火墙层面"只允许 Cloudflare 的 IP 访问 80/443",这样即使有人拿到你的真实 IP 也打不进来。执行前务必确认橙色云朵已生效(第四步完成且 DNS 已切换),否则会把自己挡在门外;SSH(22 端口)不受影响。


// 下载 Cloudflare 官方 IP 段(每 24 小时更新一次)
curl -s https://www.cloudflare.com/ips-v4 -o /tmp/cf-v4.txt
curl -s https://www.cloudflare.com/ips-v6 -o /tmp/cf-v6.txt

// CentOS 7 firewalld:新建 cf 专用 zone,仅放行这些 IP 的 80/443
firewall-cmd --permanent --new-zone=cf
while read ip; do firewall-cmd --permanent --zone=cf --add-source="$ip"; done < /tmp/cf-v4.txt
while read ip; do firewall-cmd --permanent --zone=cf --add-source="$ip"; done < /tmp/cf-v6.txt
firewall-cmd --permanent --zone=cf --add-port=80/tcp
firewall-cmd --permanent --zone=cf --add-port=443/tcp
firewall-cmd --permanent --zone=public --remove-service=http
firewall-cmd --permanent --zone=public --remove-service=https
firewall-cmd --reload

// Ubuntu 22.04 ufw:同样只放行 Cloudflare IP(allow 规则必须排在 deny 之前)
for ip in $(curl -s https://www.cloudflare.com/ips-v4); do
  ufw allow from "$ip" to any port 80,443 proto tcp
done
for ip in $(curl -s https://www.cloudflare.com/ips-v6); do
  ufw allow from "$ip" to any port 80,443 proto tcp
done
ufw deny 80/tcp
ufw deny 443/tcp
ufw status numbered

误操作恢复方法:firewall-cmd --permanent --zone=public --add-service=http && firewall-cmd --reload(CentOS),或 ufw delete deny 443/tcp && ufw delete deny 80/tcp(Ubuntu)。

第九步:验证 CDN 生效与常见排错


// 1. 响应头带 cf-ray 即说明流量走了 Cloudflare
curl -sI https://example.com | grep -i 'cf-ray'

// 2. 域名应解析到 Cloudflare 节点(104.21.x / 172.67.x 网段)
dig +short example.com @1.1.1.1

// 3. 静态资源缓存状态:HIT 命中缓存,MISS 首次回源
curl -sI https://example.com/wp-content/uploads/logo.png | grep -i 'cf-cache-status'

// 4. 日志里应显示真实访客 IP(不再是 CF 节点 IP)
tail -5 /var/log/nginx/access.log

常见问题速查:

症状原因解决
502/521/522源站连不通检查防火墙是否误挡 CF IP、Nginx 是否在运行
跳转循环(too many redirects)Flexible 模式 + Nginx 80→443 跳转换 Full (Strict),或去掉跳转
页面内容不更新动态页被缓存检查 Cache Rules,动态路径设 Bypass 后 Purge
日志全是 CF 节点 IP未配 set_real_ip_from按第六步配置并 reload

进阶:国内访问优化与源站 IP 防泄露

国内访问优化:Cloudflare 免费版默认按 Geo 就近分配,大陆用户可能被分到美国/欧洲节点,动态请求延迟偏高。三个实用优化:① 源站选香港/新加坡节点(阿里云国际版、腾讯云国际版香港区延迟最低);② 用社区开源工具 CloudflareSpeedTest 测出本地最优 CF 节点 IP,配合 hosts 或路由器分流使用;③ 静态资源占比高的站点体验提升最明显,动态接口多的站点建议静态走 CDN、接口直连源站。

源站 IP 防泄露(即使上了防火墙也要防"信息泄露"):不要在源站直接发信(邮件头会暴露真实 IP,需走邮件服务商);查询 securitytrails 等历史 DNS 库确认没有旧解析记录暴露过 IP;证书透明日志(crt.sh)里 Origin 证书不含域名信息可忽略,但自签证书如果绑定了真实 IP 要换掉。

HSTS 强制加密:Full (Strict) 稳定运行几天后,可以在 443 server 块加响应头,强制浏览器只走 HTTPS:


add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

开启后浏览器会记住"该域名只能 HTTPS",即使有人截获 DNS 也降级不了。注意:HSTS 一旦开启,源站 HTTP 服务就不能再关,否则用户将被锁在门外。

常见问题 FAQ

  • Q: Cloudflare 免费版有哪些限制?

A: 免费版包含 CDN 加速、全站 SSL、基础 DDoS 防护、10 条 Cache Rules、5 条 WAF 规则、每月 100 次缓存清除。没有负载均衡、Argo 智能路由、自定义高级 WAF 等付费功能,个人站长和企业官网完全够用。

  • Q: 接入后网站打不开(502/521)怎么办?

A: 九成是源站防火墙把 Cloudflare IP 挡了,或 Nginx 没在运行。先用 curl -k https://服务器IP/ -H "Host: example.com" 直连测试源站,确认源站正常后再检查防火墙 zone 是否包含了最新 CF IP 段。

  • Q: 国内用户访问会不会更慢?

A: 静态资源通常变快,动态请求可能变慢(免费版默认节点对国内不友好)。面向国内用户建议:香港/新加坡源站 + 优选 IP 工具,或直接选阿里云国际版/腾讯云国际版香港节点,通过 5.chengzicloud.cloud 购买享专属折扣。

  • Q: 域名需要备案才能用 Cloudflare 吗?

A: Cloudflare 不要求备案,但大陆备案域名不能接入(被强制停止代理);海外云服务器 + 未备案域名用 Cloudflare 完全合法合规。服务器在大陆则必须备案且无法使用 CF。

  • Q: 不想换 NS,能只做 CNAME 接入吗?

A: 免费版只能 NS 接入(Full Setup),CNAME 接入是付费功能。NS 接入不会破坏现有解析——把原记录逐条复制到 CF 并核对后,切换是无感的。

  • Q: 源站证书用 Let's Encrypt 还是 Cloudflare Origin 证书?

A: 都可以。Let's Encrypt 90 天自动续期、通用性最好;Cloudflare Origin 证书 15 年有效期、只在 CF 与源站之间有效、不用管续期。Full (Strict) 模式两者都认。

  • Q: 开了防火墙只放行 CF IP 后,自己怎么测试网站?

A: 你的访问也走 CF,正常打开域名即可;只有直连源站 IP 会被拒绝——这正是想要的效果。调试源站时临时用防火墙恢复命令放行自己的 IP 段即可。

总结

完整链路是:确认 IP → 注册 CF → 切换 NS → 打开橙色云朵 → 选择 Full (Strict) → Nginx 强制 HTTPS + 真实 IP 透传 → 缓存规则 → 防火墙只放行 CF IP → 验证。整套操作 10-15 分钟、成本为零,换来的是全球加速、免费全站 HTTPS、基础 DDoS 防护和源站隐身四重收益,是海外云服务器建站性价比最高的一步。配合监控告警和定期备份(延伸阅读有现成教程),你的网站就具备了小型生产环境的完整闭环。

🚀 想直接跳过选机踩坑?通过 5.chengzicloud.cloud 购买阿里云/AWS/腾讯云国际版服务器,全程中文支持,享专属折扣。

延伸阅读:

本文由 5.chengzicloud.cloud 提供,点击访问首页了解更多海外云服务器部署方案和专属优惠。