从域名接入到网站上线:Cloudflare 新手部署全流程指南
Cloudflare 部署完整教程|零基础可学
Cloudflare 是目前非常流行的一站式网络服务平台,常见用途包括:域名 DNS 解析、网站 CDN 加速、HTTPS 证书、DDoS 防护、静态网站部署、Serverless 服务、内网穿透等。对于零基础用户来说,Cloudflare 最常见的使用场景是:把自己的域名接入 Cloudflare,并通过 Cloudflare 部署或加速网站。
本文将从零开始,带你完整了解 Cloudflare 的基础概念、账号注册、域名接入、DNS 配置、HTTPS 设置、网站部署方式、常见问题排查等内容。即使你没有服务器运维经验,也可以按照步骤一步一步完成。
一、Cloudflare 是什么?
Cloudflare 可以理解为一个位于用户和你的网站服务器之间的“中间层”。当用户访问你的网站时,请求会先到达 Cloudflare,再由 Cloudflare 转发到你的源站服务器,或者直接返回缓存内容。
它主要提供以下能力:
-
DNS 解析
- 将域名解析到服务器 IP;
- 替代传统域名服务商的 DNS;
- 支持快速生效和灵活管理。
-
CDN 加速
- Cloudflare 在全球有大量节点;
- 静态资源可以缓存在离用户更近的节点;
- 提升访问速度,降低源站压力。
-
HTTPS/SSL
- 免费提供 SSL 证书;
- 支持用户到 Cloudflare、Cloudflare 到源站的加密连接;
- 可以轻松开启 HTTPS。
-
安全防护
- 防止常见攻击;
- 支持防火墙规则;
- 可开启验证码、人机验证、速率限制等。
-
网站部署
- Cloudflare Pages 可部署静态网站;
- Cloudflare Workers 可部署无服务器函数;
- Cloudflare Tunnel 可实现内网服务公网访问。
二、准备工作
在正式开始之前,你需要准备以下内容:
1. 一个域名
你可以在以下平台注册域名:
- 阿里云
- 腾讯云
- GoDaddy
- Namecheap
- Porkbun
- Spaceship
- Cloudflare Registrar
如果你已经有域名,可以直接使用。
2. 一个 Cloudflare 账号
访问官网:
https://www.cloudflare.com/
点击右上角注册账号,使用邮箱和密码完成注册即可。
3. 一个网站或服务器
根据你的需求不同,准备方式也不同:
- 如果你只是部署静态网站,可以使用 Cloudflare Pages;
- 如果你已有服务器,可以把域名解析到服务器;
- 如果你想运行轻量 API,可以使用 Cloudflare Workers;
- 如果你想把本地服务暴露到公网,可以使用 Cloudflare Tunnel。
本文会重点讲解最常见的几种部署方式。
三、将域名接入 Cloudflare
这是使用 Cloudflare 的第一步。
第 1 步:添加站点
登录 Cloudflare 后,进入控制台,点击:
Add a site
输入你的域名,例如:
example.com
注意:这里填写的是根域名,不要填写 www.example.com,也不要带 https://。
正确示例:
example.com
错误示例:
https://example.com
www.example.com
填写后点击继续。
第 2 步:选择套餐
Cloudflare 会让你选择套餐。对于大多数个人用户和普通网站来说,选择:
Free 免费套餐
即可。
免费套餐已经包含:
- DNS 解析;
- CDN 加速;
- 免费 SSL;
- 基础安全防护;
- 页面规则;
- Cloudflare Pages;
- Workers 免费额度。
第 3 步:检查 DNS 记录
Cloudflare 会自动扫描你当前域名已有的 DNS 记录,例如:
A example.com 1.2.3.4
CNAME www example.com
MX example.com mail.example.com
TXT example.com v=spf1 ...
如果你之前没有配置过 DNS,可能这里为空。
你可以先继续,后面再手动添加。
第 4 步:修改域名 NS 服务器
这是接入 Cloudflare 最关键的一步。
Cloudflare 会给你两个 NS 地址,例如:
alice.ns.cloudflare.com
bob.ns.cloudflare.com
你需要登录你的域名注册商后台,把原来的 NS 服务器改成 Cloudflare 提供的这两个。
例如你在阿里云购买的域名,需要进入:
域名管理 → DNS 修改 / 修改 DNS 服务器
将原来的 NS 替换为 Cloudflare 提供的 NS。
修改完成后,回到 Cloudflare 点击确认。
第 5 步:等待生效
NS 修改通常需要几分钟到数小时生效,极端情况下可能需要 24~48 小时。
你可以通过以下方式检查:
nslookup -type=ns example.com
或者使用在线工具查询:
https://dnschecker.org/
当查询结果显示 Cloudflare 的 NS 服务器时,说明接入成功。
四、DNS 解析配置详解
进入 Cloudflare 后台,选择你的域名,然后点击:
DNS → Records
这里可以添加各种 DNS 记录。
1. A 记录
A 记录用于将域名解析到 IPv4 地址。
例如你的服务器 IP 是:
123.123.123.123
你希望访问 example.com 时打开这个服务器,就添加:
| 类型 | 名称 | 内容 |
|---|---|---|
| A | @ | 123.123.123.123 |
其中:
@表示根域名;123.123.123.123是服务器 IP。
如果你还希望 www.example.com 也访问同一个网站,可以添加:
| 类型 | 名称 | 内容 |
|---|---|---|
| A | www | 123.123.123.123 |
2. CNAME 记录
CNAME 用于将一个域名指向另一个域名。
例如:
| 类型 | 名称 | 内容 |
|---|---|---|
| CNAME | www | example.com |
表示访问:
www.example.com
会指向:
example.com
如果你的网站托管在 Vercel、Netlify、GitHub Pages、Cloudflare Pages 等平台,也经常会用到 CNAME。
3. AAAA 记录
AAAA 记录用于 IPv6 地址。
例如:
| 类型 | 名称 | 内容 |
|---|---|---|
| AAAA | @ | 2400:xxxx:xxxx::1 |
如果你的服务器没有 IPv6,可以不配置。
4. MX 记录
MX 记录用于邮箱服务。
如果你使用企业邮箱,例如腾讯企业邮箱、阿里企业邮箱、Google Workspace,就需要配置 MX 记录。
示例:
| 类型 | 名称 | 内容 | 优先级 |
|---|---|---|---|
| MX | @ | mx1.examplemail.com | 10 |
| MX | @ | mx2.examplemail.com | 20 |
注意:邮箱相关记录一般不要随便删除,否则可能导致收不到邮件。
5. TXT 记录
TXT 记录常用于域名验证、邮箱 SPF、DKIM、DMARC 等。
例如:
v=spf1 include:example.com ~all
或者某些平台要求你添加:
google-site-verification=xxxxxxxx
五、Cloudflare 小云朵是什么意思?
在 DNS 记录右侧,你会看到一个云朵图标:
- 橙色云朵:代理开启;
- 灰色云朵:仅 DNS 解析。
1. 橙色云朵:Proxied
开启代理后,用户访问网站会经过 Cloudflare。
优点:
- 可以使用 CDN;
- 可以隐藏源站 IP;
- 可以使用 WAF 和安全防护;
- 可以启用缓存;
- 可以使用 Cloudflare 的 HTTPS。
适合:
- 网站访问;
- HTTP/HTTPS 服务。
2. 灰色云朵:DNS only
仅做 DNS 解析,请求不会经过 Cloudflare。
适合:
- 邮箱 MX;
- FTP;
- SSH;
- 某些非 HTTP 服务;
- 不希望走 Cloudflare 代理的记录。
注意:Cloudflare 免费套餐主要代理 HTTP/HTTPS 流量,不适合直接代理 SSH、数据库等端口。
六、配置 HTTPS/SSL
域名接入 Cloudflare 后,建议立即配置 HTTPS。
进入:
SSL/TLS → Overview
你会看到几种 SSL 模式。
1. Off
关闭 HTTPS,不推荐。
2. Flexible
用户到 Cloudflare 是 HTTPS,Cloudflare 到源站是 HTTP。
优点:
- 源站无需配置证书;
- 简单。
缺点:
- Cloudflare 到源站不加密;
- 容易出现跳转循环;
- 安全性较弱。
不推荐长期使用。
3. Full
用户到 Cloudflare 是 HTTPS,Cloudflare 到源站也是 HTTPS。
源站可以使用自签名证书。
4. Full(strict)
最推荐。
用户到 Cloudflare 加密,Cloudflare 到源站也加密,并且源站证书必须有效。
建议选择:
Full (strict)
如果你的源站没有证书,可以使用 Cloudflare 提供的 Origin Certificate。
七、为源站安装 Cloudflare Origin Certificate
如果你有自己的服务器,并希望使用 Full(strict),可以安装 Cloudflare Origin Certificate。
第 1 步:生成证书
进入:
SSL/TLS → Origin Server
点击:
Create Certificate
选择:
- 私钥类型:RSA 或 ECC;
- 主机名:
example.com和*.example.com; - 有效期:默认即可。
Cloudflare 会生成:
- Origin Certificate;
- Private Key。
请务必保存私钥,生成后无法再次查看。
第 2 步:上传到服务器
假设你的服务器使用 Nginx,可以将证书保存为:
/etc/nginx/ssl/origin.pem
/etc/nginx/ssl/origin.key
第 3 步:配置 Nginx
示例配置:
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/origin.pem;
ssl_certificate_key /etc/nginx/ssl/origin.key;
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
修改后检查配置:
nginx -t
重载 Nginx:
systemctl reload nginx
然后在 Cloudflare 中选择:
SSL/TLS → Overview → Full (strict)
八、部署方式一:使用 Cloudflare Pages 部署静态网站
如果你的网站是静态网站,例如:
- HTML/CSS/JS;
- Vue;
- React;
- Vite;
- Astro;
- Hugo;
- Hexo;
- Next.js 静态导出;
- Nuxt 静态导出;
那么 Cloudflare Pages 是非常适合的选择。
第 1 步:准备代码仓库
你需要把代码上传到 GitHub 或 GitLab。
例如一个简单项目结构:
my-site/
├── index.html
├── style.css
└── main.js
如果是 Vite 项目,一般结构是:
my-vite-site/
├── package.json
├── src/
├── public/
└── vite.config.js
第 2 步:创建 Pages 项目
进入 Cloudflare 后台:
Workers & Pages → Create application → Pages
选择:
Connect to Git
授权 GitHub 或 GitLab,然后选择你的项目仓库。
第 3 步:配置构建命令
不同项目配置不同。
普通 HTML 项目
如果你的仓库根目录就是 index.html,可以不填写构建命令,输出目录填写:
/
或者根据页面提示选择默认配置。
Vite 项目
构建命令:
npm run build
输出目录:
dist
Vue CLI 项目
构建命令:
npm run build
输出目录:
dist
React 项目
如果是 Create React App:
npm run build
输出目录:
build
Hugo 项目
构建命令:
hugo
输出目录:
public
第 4 步:部署
配置完成后点击:
Save and Deploy
Cloudflare 会自动拉取代码并构建。
构建完成后,你会得到一个默认域名:
your-project.pages.dev
访问该地址即可查看网站。
第 5 步:绑定自定义域名
进入 Pages 项目:
Custom domains → Set up a custom domain
输入你的域名,例如:
example.com
或者:
www.example.com
如果域名已经接入 Cloudflare,系统通常会自动帮你添加 DNS 记录。
完成后等待证书签发,即可通过自己的域名访问 Pages 网站。
九、部署方式二:将域名指向自己的服务器
如果你已经有 VPS 或云服务器,例如:
- 阿里云 ECS;
- 腾讯云轻量服务器;
- AWS EC2;
- Google Cloud;
- DigitalOcean;
- Vultr;
- Hetzner;
你可以用 Cloudflare 将域名解析到服务器。
第 1 步:确认服务器 IP
在服务器控制台查看公网 IP,例如:
123.123.123.123
第 2 步:添加 DNS 记录
在 Cloudflare 的 DNS 页面添加:
| 类型 | 名称 | 内容 | 代理 |
|---|---|---|---|
| A | @ | 123.123.123.123 | 开启 |
| A | www | 123.123.123.123 | 开启 |
如果你的服务器没有配置网站,请先安装 Nginx。
第 3 步:安装 Nginx
以 Ubuntu 为例:
sudo apt update
sudo apt install nginx -y
启动 Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
访问服务器 IP,如果看到 Nginx 默认页面,说明安装成功。
第 4 步:上传网站文件
假设网站目录为:
/var/www/example
创建目录:
sudo mkdir -p /var/www/example
创建测试页面:
sudo nano /var/www/example/index.html
写入:
Hello Cloudflare
Cloudflare 部署成功
第 5 步:配置 Nginx 站点
新建配置文件:
sudo nano /etc/nginx/sites-available/example
写入:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
启用配置:
sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
检查配置:
sudo nginx -t
重载:
sudo systemctl reload nginx
此时访问域名即可看到页面。
十、部署方式三:使用 Cloudflare Workers 部署简单接口
Cloudflare Workers 适合部署轻量级 API、跳转服务、反向代理、边缘计算逻辑等。
第 1 步:创建 Worker
进入:
Workers & Pages → Create application → Workers
点击创建 Worker。
你会看到一个默认示例:
export default {
async fetch(request, env, ctx) {
return new Response("Hello World!");
},
};
点击部署后,会得到一个地址:
xxx.workers.dev
访问即可看到输出。
第 2 步:编写简单 API
例如返回 JSON:
export default {
async fetch(request) {
const data = {
message: "Cloudflare Workers 部署成功",
time: new Date().toISOString()
};
return new Response(JSON.stringify(data), {
headers: {
"Content-Type": "application/json;charset=UTF-8"
}
});
}
};
第 3 步:绑定自定义域名
进入 Worker 项目:
Settings → Triggers → Custom Domains
添加:
api.example.com
如果域名在 Cloudflare 中,系统会自动处理证书和路由。
十一、部署方式四:使用 Cloudflare Tunnel 内网穿透
Cloudflare Tunnel 可以让你的本地服务或内网服务通过 Cloudflare 暴露到公网,而不需要开放服务器端口,也不需要公网 IP。
适合:
- 本地开发调试;
- 家庭服务器;
- NAS;
- 内网 Web 服务;
- 不想暴露真实 IP 的服务。
第 1 步:安装 cloudflared
以 Ubuntu 为例:
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
检查版本:
cloudflared --version
第 2 步:登录 Cloudflare
运行:
cloudflared tunnel login
终端会输出一个链接,复制到浏览器中打开,选择你的域名并授权。
第 3 步:创建 Tunnel
cloudflared tunnel create my-tunnel
创建后会生成一个 Tunnel ID。
第 4 步:配置 Tunnel
创建配置文件:
sudo mkdir -p /etc/cloudflared
sudo nano /etc/cloudflared/config.yml
示例配置:
tunnel: 你的Tunnel-ID
credentials-file: /root/.cloudflared/你的Tunnel-ID.json
ingress:
- hostname: app.example.com
service: http://localhost:3000
- service: http_status:404
意思是将:
app.example.com
转发到本机:
http://localhost:3000
第 5 步:创建 DNS 路由
cloudflared tunnel route dns my-tunnel app.example.com
第 6 步:启动 Tunnel
cloudflared tunnel run my-tunnel
如果测试正常,可以安装为系统服务:
sudo cloudflared service install
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
十二、常见问题与解决方法
1. 域名接入 Cloudflare 后无法访问
常见原因:
- NS 还未生效;
- DNS 记录配置错误;
- 服务器防火墙未开放 80/443;
- Nginx/Apache 配置错误;
- SSL 模式选择不正确。
解决方法:
nslookup example.com
ping example.com
curl -I https://example.com
逐步排查域名是否解析正确、源站是否可访问。
2. 出现 521 错误
521 表示 Cloudflare 无法连接到源站服务器。
可能原因:
- 服务器没有启动;
- 80/443 端口未开放;
- 防火墙屏蔽了 Cloudflare IP;
- Nginx 没有监听对应端口。
解决方法:
- 检查服务器运行状态;
- 检查安全组;
- 检查防火墙;
- 检查 Web 服务。
3. 出现 522 错误
522 表示连接超时。
可能原因:
- 源站网络不稳定;
- 服务器响应过慢;
- 防火墙拦截;
- Cloudflare 到源站线路异常。
可以尝试关闭代理,改为灰色云朵测试是否能直连。
4. 出现 525 或 526 错误
这通常和 SSL 有关。
- 525:SSL 握手失败;
- 526:源站证书无效,常见于 Full(strict)。
解决方法:
- 源站安装有效证书;
- 使用 Cloudflare Origin Certificate;
- SSL 模式改为 Full 或 Full(strict)。
5. HTTPS 跳转循环
通常是因为 Cloudflare 使用 Flexible,而源站又强制跳转 HTTPS。
解决方案:
- 不推荐使用 Flexible;
- 改成 Full 或 Full(strict);
- 源站正确配置 SSL 证书。
十三、推荐的基础配置
对于普通网站,建议配置如下:
DNS
| 记录 | 建议 |
|---|---|
| 网站 A/CNAME 记录 | 开启橙色云朵 |
| 邮箱 MX 记录 | 灰色云朵 |
| TXT 验证记录 | 灰色云朵或默认 |
| SSH/FTP 相关记录 | 灰色云朵 |
SSL/TLS
推荐:
Full (strict)
自动 HTTPS
进入:
SSL/TLS → Edge Certificates
开启:
Always Use HTTPS
这样用户访问 HTTP 会自动跳转到 HTTPS。
Brotli 压缩
进入:
Speed → Optimization
开启:
Brotli
可以提升文本资源加载速度。
缓存
进入:
Caching → Configuration
可以清理缓存:
Purge Cache
当你更新了网站但页面没变化时,可以尝试清理缓存。
十四、Cloudflare Pages 与服务器部署该选哪个?
如果你是新手,可以参考下面的选择:
| 场景 | 推荐方案 |
|---|---|
| 纯静态网站 | Cloudflare Pages |
| 个人博客 | Cloudflare Pages / VPS |
| Vue/React 前端项目 | Cloudflare Pages |
| 需要数据库的后端网站 | VPS / 云服务器 |
| 简单 API | Cloudflare Workers |
| 本地服务公网访问 | Cloudflare Tunnel |
| 想隐藏源站 IP | Cloudflare 代理 / Tunnel |
简单来说:
- 只放网页:选 Pages;
- 要跑后端:选服务器;
- 要轻量函数:选 Workers;
- 要穿透内网:选 Tunnel。
十五、部署完成后的检查清单
完成部署后,建议逐项检查:
- [ ] 域名 NS 是否已经切换到 Cloudflare;
- [ ] DNS 记录是否正确;
- [ ] 网站记录是否开启橙色云朵;
- [ ] SSL 模式是否为 Full(strict);
- [ ] HTTP 是否会跳转到 HTTPS;
- [ ]
www和根域名是否都能访问; - [ ] 页面资源是否正常加载;
- [ ] 邮箱 MX 记录是否未被误删;
- [ ] 源站服务器防火墙是否开放 80/443;
- [ ] 更新网站后是否需要清理缓存。
十六、总结
Cloudflare 对新手非常友好,免费套餐已经足够满足大多数个人网站、博客、前端项目和小型应用的需求。完整部署流程可以概括为:
- 注册 Cloudflare 账号;
- 添加域名;
- 修改域名 NS 到 Cloudflare;
- 配置 DNS 解析;
- 设置 SSL/TLS;
- 根据需求选择 Pages、服务器、Workers 或 Tunnel;
- 完成访问测试和安全优化。
如果你只是想快速上线一个静态网站,最推荐使用 Cloudflare Pages,它不需要购买服务器,也不需要手动配置 Nginx,只要连接 GitHub 仓库就可以自动部署。如果你已经有云服务器,则可以通过 Cloudflare DNS 和 CDN 提升访问速度,并增强网站安全性。
掌握 Cloudflare 的基础配置后,你就可以更轻松地管理域名、部署网站、开启 HTTPS、隐藏源站 IP,并为后续的网站优化和安全防护打下基础。