无需服务器配置,15年有效期,一次配置终身受用
一、为什么需要 Cloudflare 的免费 SSL 证书?
很多站长在给网站配置 HTTPS 时都会遇到同样的烦恼:
-
Let’s Encrypt 证书有效期只有 90 天,每三个月就要想着续期
-
阿里云等平台的免费证书从一年缩短到了三个月
-
付费证书动辄几百上千块一年
而 Cloudflare 提供了一个几乎完美的解决方案:免费、15年有效期、覆盖所有子域名。
核心优势:
| 特性 | Cloudflare 免费证书 | Let’s Encrypt | 传统付费证书 |
|---|---|---|---|
| 价格 | 免费 | 免费 | 几百-几千/年 |
| 有效期 | 90天(自动续期) | 90天 | 1年 |
| 覆盖范围 | 主域名+所有一级子域名 | 取决于申请方式 | 取决于购买 |
| 维护成本 | 零 | 需配置自动续期 | 需手动更换 |
注意:Cloudflare 的 Universal SSL 证书有效期为 90 天,但系统会在到期前 30 天自动续期,你完全不需要做任何操作。 对用户来说,这就是"永久免费"的体验。
二、两种使用场景,选哪种?
在开始之前,先搞清楚你需要哪种:
| 场景 | 说明 | 适合谁 |
|---|---|---|
| 场景A:域名通过 Cloudflare 代理 | 流量经过 Cloudflare 节点,自动获得免费 SSL,无需配置服务器 | 绝大多数个人站长、博客、论坛 |
| 场景B:仅 DNS 托管+源站证书 | 流量直连源服务器,需手动安装源站证书 | 需要对服务器完全控制、或特殊业务需求 |
90% 的情况选场景A就够了,最简单省事。如果你需要服务器直连(比如某些 API 服务对延迟要求极高),可以选场景B。
三、场景A:使用 Cloudflare 代理(推荐,最简单)
这是最省心的方案:域名接入 Cloudflare 后,开启代理(橙色云朵),Cloudflare 会自动为你的网站签发并管理 SSL 证书,你什么都不用做。
第1步:注册并添加域名
-
访问 Cloudflare 官网,用邮箱注册账号
-
登录后点击 添加站点 或 Add a Site
-
输入你的完整域名(如
jiza.net,不带 www),点击 继续
第2步:选择免费计划
Cloudflare 提供多个套餐,我们选择 Free Plan(免费计划),点击 继续。
免费计划包含了:SSL 证书、CDN 加速、DDoS 防护、防火墙规则等核心功能,个人站长完全够用。
第3步:替换 DNS 服务器
这是最关键的一步。
-
Cloudflare 会自动扫描你当前的 DNS 记录(这个稍后可以手动调整)
-
页面会给出两个 Cloudflare 名称服务器(Nameserver) 地址,类似:
-
carl.ns.cloudflare.com -
dora.ns.cloudflare.com
-
-
复制这两个地址
-
去你购买域名的网站(GoDaddy、阿里云、Namecheap 等),找到域名的 DNS 管理 或 Nameserver 设置
-
把原有的 DNS 服务器地址替换成 Cloudflare 给你的这两个地址
-
保存修改
DNS 服务器修改后,全球生效需要 几分钟到 24 小时 不等,通常 1-2 小时内生效。
第4步:等待证书自动签发
DNS 服务器修改生效后,Cloudflare 会自动为你的域名签发 Universal SSL 证书。
-
签发时间:15 分钟到 24 小时 之间
-
覆盖范围:
example.com和所有*.example.com(一级子域名)
查看证书状态:
进入 Cloudflare 控制台 → 你的域名 → SSL/TLS → 边缘证书,状态显示 有效(Active) 即表示证书已生效。
第5步:开启代理并选择加密模式
开启代理:
在 Cloudflare 控制台的 DNS 页面,找到你的域名记录(如 @ 和 www),点击代理状态图标,将其从 仅 DNS(灰色云朵) 切换为 已代理(橙色云朵)。
选择加密模式:
进入 SSL/TLS → 概述,选择加密模式:
| 模式 | 说明 | 推荐 |
|---|---|---|
| 关闭 | 不加密 | |
| 灵活 | 用户到 Cloudflare 加密,Cloudflare 到源站不加密 | |
| 完全 | 两端都加密,但允许源站使用自签名证书 | |
| 完全(严格) | 两端都加密,且源站必须使用有效证书 |
如果你的源服务器暂时没有安装任何 SSL 证书,可以先选 完全 模式;等后续配置好源站证书后,再改为 完全(严格)。
四、场景B:仅 DNS 托管 + 安装源站证书
如果你不想让流量经过 Cloudflare 代理(比如某些需要直连的业务),可以保持 仅 DNS 模式,然后在源服务器上安装 Cloudflare 签发的源站证书。
第1步:保持 DNS 仅代理模式
在 Cloudflare 控制台的 DNS 页面,确保代理状态为 仅 DNS(灰色云朵),这样流量直接走你的源服务器,不经过 Cloudflare 节点。
第2步:创建源站证书
-
进入 Cloudflare 控制台 → 你的域名 → SSL/TLS → 源服务器
-
点击 创建证书 或 Create Certificate
-
保持默认设置:
-
私钥类型:RSA(2048位)
-
主机名:默认包含主域名和通配符(
*.example.com) -
有效期:选择 15年(Cloudflare 源站证书最大支持 15 年)
-
-
点击 创建
第3步:保存证书文件
创建完成后,页面会显示两段内容:
| 内容 | 说明 | 保存为 |
|---|---|---|
| 源证书(Origin Certificate) | 公钥,需安装到服务器 | example.com.pem |
| 私钥(Private Key) | 私钥,只显示这一次,务必保存好 | example.com.key |
重要:私钥只显示一次!如果你忘记保存,只能删除证书重新创建。
第4步:在服务器上安装证书
以下以 Nginx 为例:
1. 上传证书文件
将保存的两个文件上传到服务器,例如放到 /etc/nginx/ssl/ 目录下。
2. 修改 Nginx 配置
nginx
server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.pem; ssl_certificate_key /etc/nginx/ssl/example.com.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { root /var/www/html; index index.html; } } 3. 重启 Nginx
bash
# 测试配置是否正确 nginx -t # 重启 Nginx systemctl restart nginx 第5步:调整 Cloudflare SSL 模式
回到 Cloudflare 控制台 → SSL/TLS → 概述,将加密模式改为 完全(严格)。
这样配置后:
-
用户访问你的网站时,浏览器和 Cloudflare 之间的连接由 Cloudflare 的边缘证书加密
-
Cloudflare 到你的源服务器之间的连接,由你安装的源站证书加密
五、常见问题
Q1:证书是永久免费的吗?
Cloudflare 的 Universal SSL 证书有效期为 90 天,但系统会在到期前 自动续期,你不需要做任何操作。 源服务器证书支持最长 15 年有效期。对用户来说,这就是"永久免费"的体验。
Q2:为什么我的证书状态一直是"待处理"?
证书签发需要等待 DNS 生效。检查:
-
域名 DNS 服务器是否已成功修改为 Cloudflare 的地址
-
修改是否已生效(可以用
dig命令或在线工具查询) -
等待时间:通常 15 分钟到 24 小时
Q3:开启代理后网站打不开?
可能原因:
-
SSL/TLS 加密模式设置不正确,尝试改为 完全 或 完全(严格)
-
源服务器防火墙未开放 80/443 端口
-
源服务器配置问题,检查 Nginx/Apache 是否正常
Q4:源站证书的私钥丢了怎么办?
私钥只显示一次,如果丢失,只能在 Cloudflare 控制台中删除原证书,重新创建。
Q5:可以给子域名单独配置证书吗?
Cloudflare 的 Universal SSL 证书默认覆盖主域名和所有一级子域名(*.example.com)。如果需要二级子域名(如 a.b.example.com)或特定验证方式,可以使用 每主机名证书 或 高级证书 功能。
六、总结
| 场景 | 操作难度 | 是否需要服务器配置 | 推荐度 |
|---|---|---|---|
| 场景A:开启代理 | 不需要 | ||
| 场景B:安装源站证书 | 需要(Nginx配置) |
最简单的做法:
-
把域名 DNS 服务器改成 Cloudflare 的
-
开启代理(橙色云朵)
-
等 15 分钟到 24 小时
-
完成!SSL 证书自动生效
不需要在服务器上装任何东西,不需要处理证书续期,一次配置,永久有效。