CDN 上 HTTPS 证书该怎么配:回源协议、证书类型与常见坑
网站接入 CDN 之后,HTTPS 就分成了两段:用户到 CDN 和 CDN 到源站。很多人只配好了第一段,第二段没配或配错,导致页面显示不正常、证书报错。本文把 CDN 上的证书配置一次讲清。
一、先分清两段连接与两类证书
接入 CDN 后,用户不再直接连你的服务器,而是连 CDN 的边缘节点。所以 HTTPS 涉及两段:
- 边缘节点 ↔ 用户:需要"边缘证书";
- 边缘节点 ↔ 源站服务器:涉及"回源"时的证书与协议。
对应地,证书也分两种角色:
- 边缘证书:部署在 CDN 节点上,给用户看。如果用了 CDN 的免费证书,通常由 CDN 自动申请和管理;
- 源站证书:部署在你的服务器上,给 CDN 回源时验证用。如果源站没有证书,就选 HTTP 回源。
如果两个概念混在一起,配置时最容易翻车。CDN 整体工作原理见CDN 工作原理。
二、回源协议:三种模式怎么选
回源协议决定"CDN 到源站"这一段用什么方式连接,通常有三种:
| 回源协议 | 含义 | 优点 | 缺点 |
|---|---|---|---|
| HTTP | CDN 用明文访问源站 | 源站不用配证书,简单 | 中间一段不加密 |
| HTTPS | CDN 用加密访问源站 | 全程加密,最安全 | 源站必须有合法证书 |
| 跟随 | 用户用什么,回源用什么 | 两端协议一致 | 配置不当易出错 |
选型建议:追求最简单,选 HTTP 回源(数据在 CDN 内网传输,风险可控);追求完整安全链路,选 HTTPS 回源;"跟随"模式只有在你确定源站协议与边缘一致时才推荐。安全要求更高的场景可参考CDN 与 SSL/TLS 配置最佳实践。
三、免费证书 vs 自定义证书
CDN 上的边缘证书主要有两种来源:
1. 免费证书(CDN 托管):由 CDN 厂商自动申请、自动续期,例如大多数 CDN 都支持一键开启的免费证书。适合绝大多数个人和小型站点,成本为零,也不用操心续期。申请免费证书的通用方法见Let's Encrypt 自动续期。
2. 自定义证书(上传):把你从 CA 买的证书上传到 CDN。适合需要高级验证(OV/EV)、企业形象要求高、或需要特定证书品牌/多域名/通配符的场景。证书类型怎么选,见SSL 证书类型指南。
两者对比:
| 对比项 | 免费证书 | 自定义证书 |
|---|---|---|
| 成本 | 0 | 按年付费 |
| 续期 | 自动 | 自己管理 |
| 验证级别 | 通常 DV | 可 OV/EV |
| 适用 | 个人站、中小站 | 企业、对信任要求高的站 |
四、配置步骤(以常见 CDN 为例)
- 开启 CDN 加速:把域名接入 CDN,配置好 CNAME 解析,见网站接入 CDN 指南;
- 开启 HTTPS:在 CDN 控制台开启"免费证书"或上传自定义证书,让用户到边缘这一段走 HTTPS;
- 配置回源:选好回源协议(新手先选 HTTP),填对源站地址与端口;
- 设置跳转:配置 HTTP 自动跳转 HTTPS(301/308),统一到 443;
- 验证:用浏览器访问 https 域名确认小锁正常,再用在线检测工具确认证书链完整。
五、常见坑与排查
坑 1:证书不匹配 / 域名不对。用户访问 www.example.com,证书却是 example.com 的。排查:确认 CDN 上配置的证书域名与访问域名完全一致(含 www)。
坑 2:混合内容(Mixed Content)。页面是 HTTPS,但里面引用了 HTTP 的图片、脚本、接口,浏览器会拦截。排查:全站资源改成 https 或相对路径。
坑 3:回源协议与源站不符。选了 HTTPS 回源但源站没装证书,CDN 会报 502/525。排查:确认源站 443 端口证书可用,或改回 HTTP 回源。
坑 4:证书链不完整。浏览器报"证书不受信任",通常是上传证书时漏了中间证书。排查:把证书文件、中间证书、根证书按顺序拼接上传。
坑 5:缓存了旧证书。更换证书后部分地区仍报错,可能是边缘节点或客户端缓存。排查:等待传播,或清除浏览器缓存后用无痕模式重试。
六、常见问题(FAQ)
Q1:一定要用 HTTPS 回源吗? 不一定。HTTP 回源在 CDN 场景下风险可控(用户到 CDN 这段已加密),很多生产站点为省事都用 HTTP 回源。对安全性要求极高的金融类场景再考虑 HTTPS 回源。
Q2:CDN 免费证书能用多久? 免费证书通常 90 天左右自动续期,由 CDN 托管,你基本感觉不到过期。
Q3:回源走 HTTPS 会变慢吗? 会有一点点额外握手开销,但通常可忽略。CDN 节点到源站一般走内网或优质线路,影响很小。
Q4:配置后浏览器还报错怎么办? 按"常见坑"逐项排查:域名匹配 → 证书链 → 混合内容 → 回源协议 → 缓存。
七、小结
一句话总结:CDN 上的 HTTPS 分两段:用户到边缘用边缘证书,边缘到源站用回源协议;新手先开免费证书 + HTTP 回源最省事,再按证书匹配、证书链、混合内容三个方向排查问题。 想系统学习 CDN,可收藏CDN 网络分类。