很多人第一次在 Cloudflare 后台看到 Edge Certificates、Client Certificates、Origin Server 三栏证书会犯懵。其实只要先搞清楚 Cloudflare 在你和访客之间到底做了什么,三种证书就各归其位了。
先搞清楚:Cloudflare 在中间做了什么
Cloudflare 本质是一个 CDN + 反向代理。当你把域名接入 Cloudflare、打开「橙色云」之后,发生了一件关键的事:域名的 DNS 不再直接解析到你的服务器,而是指向 Cloudflare 的 IP。
于是访客的请求路径从「直连」变成了「中转」:
访客 ──→ Cloudflare 边缘节点(离访客最近的机房) ──→ 你的源站服务器
这一层带来了 CDN 的种种好处:
- 就近接入 + 缓存:访客连的是离自己最近的边缘节点,静态内容直接从缓存返回,更快;
- 隐藏并保护源站:访客只看到 Cloudflare 的 IP,你真实服务器 IP 被藏起来,挡 DDoS、防端口扫描;
- 边缘防护:WAF、限流、Bot 拦截都在边缘就做掉。
代价是——Cloudflare 必须夹在中间,先把访客的 HTTPS 解开、再转发给你。正因为多了这一跳,HTTPS 不再是「浏览器到服务器」端到端的一条,而是被切成了两段,每段单独建立 TLS、各自需要证书:
访客浏览器 ──TLS①── Cloudflare 边缘节点 ──TLS②── 你的源站(Nginx)
Edge 证书 Origin 证书
- TLS①:访客只和 Cloudflare 握手,看到的是 Edge 证书;
- TLS②:Cloudflare 再单独和你的源站握手,用的是 Origin 证书;
- 而后台那个 SSL/TLS 模式(Flexible / Full / Full strict)定义的,正是「第二段怎么加密、要不要校验源站证书」。
抓住「一条 HTTPS 被切成两段」这条主线,下面三种证书就全通了。
Edge Certificates(边缘证书)
管的是 TLS①:访客浏览器 ⇄ Cloudflare 这一段。
- 它装在 Cloudflare 的边缘节点上,访客在地址栏看到的那把小锁、那张证书,就是它;
- 默认由 Cloudflare 免费自动签发、自动续期(Universal SSL),你什么都不用管;
- 它是公共受信任的证书(浏览器认的 CA 签的),因为它要直接面对访客。
你站点
blog.lddi.net访客看到的 HTTPS,就是 Edge 证书在起作用。
Origin Server Certificates(源站证书)
管的是 TLS②:Cloudflare ⇄ 你的源站服务器 这一段。
- 由 Cloudflare 签发,但装在你自己的服务器上(Nginx);
- 特点:只需被 Cloudflare 信任就行(不被公共浏览器信任也没关系,因为访客从不直连源站);有效期可长达 15 年,免费;
- 配合 SSL/TLS 模式 Full (strict) 使用——这个模式会校验源站证书是否有效,所以源站必须装它。
这就是你 VPS 上 Nginx 配置里的
/etc/ssl/cloudflare/lddi.net.pem——它正是 Origin 证书。
Client Certificates(客户端证书)
这张是另一个维度的东西,别和上面两张混。它用于 mTLS(双向 TLS),验证的是「谁在访问」。
- 普通 HTTPS 只验证服务器身份(证明「你连的确实是这个网站」);
- mTLS 反过来还要求客户端也出示证书,证明「你是被授权的访客」;
- Cloudflare 可以充当私有 CA 签发客户端证书,发给授权的设备/用户;开启 mTLS 后,没带有效客户端证书的请求会被直接拒绝;
- 典型场景:内部 API、后台系统、移动 App 后端——只放行特定设备,挡掉其他所有人。
所以 Client 证书不是用来「加密通道」的,而是用来「认人」的。
一张表看懂区别
| 证书 | 装在哪 | 管哪一段 / 作用 | 证明谁的身份 | 谁签发 |
|---|---|---|---|---|
| Edge | Cloudflare 边缘 | 访客 ⇄ Cloudflare(加密) | 服务器(给访客看) | Cloudflare(Universal)/ 自带 |
| Origin Server | 你的源站 Nginx | Cloudflare ⇄ 源站(加密) | 源站(给 Cloudflare 看) | Cloudflare Origin CA |
| Client | 客户端设备 | 双向认证(认人) | 客户端 / 访客 | Cloudflare Client CA |
小结
- Edge 和 Origin 是同一条 HTTPS 被 Cloudflare 拆成两段后、两段各自的「服务器证书」——一段对访客,一段对源站;
- Client 是另一回事——它在握手时反过来验证客户端身份,用于 mTLS 准入控制;
- 日常自建站最常打交道的是前两个:访客那段(Edge)Cloudflare 自动搞定,源站那段(Origin)你需要在服务器上装一张并把模式设成 Full (strict)。