CDN 配了 SSL,源站还要不要开 SSL?看回源协议:协议跟随/HTTPS 回源要开,HTTP 回源不用
网站接了 CDN 又配了 SSL,源站(宝塔面板)还要不要再开一次 SSL?答案取决于 CDN 的回源协议:回源协议设为「协议跟随」或「HTTPS 回源」时,需要在宝塔面板开启 SSL 并配置证书;设为「HTTP 回源」时,不需要配置 SSL。这不是「两边都开更保险」的问题,而是由 CDN 到源站这一段到底走明文还是加密决定的。
为什么「CDN 配了 SSL」和「源站开 SSL」是两回事
一个网站接入 CDN 后,请求会分成两段链路:用户 → CDN 节点、CDN 节点 → 源站(你的服务器)。CDN 上配置的 SSL 解决的是第一段(用户访问 CDN 时走 HTTPS),源站的 SSL 解决的是第二段(CDN 回源时走 HTTPS)。阿里云 ESA 的插件能力里就同时列出了边缘证书和源站证书两个概念:边缘证书管用户到 CDN 这一段的加密,源站证书管 CDN 到源站这一段的加密。
所以「CDN 配了 SSL」只保证了用户到 CDN 的加密,不代表源站这段自动加密——源站要不要配 SSL,由回源协议决定。
三种回源协议分别怎么配源站 SSL
宝塔面板的常见问题文档把「CDN 配置 SSL 后宝塔面板是否需要开启 SSL」的结论列成一张对照表,核心就是看回源协议:
| CDN 回源协议 | 宝塔面板是否需要配置 SSL |
|---|---|
| 协议跟随 或 HTTPS 回源 | 需要在宝塔面板中开启 SSL 并配置证书 |
| HTTP 回源 | 不需要配置 SSL |
- HTTPS 回源:CDN 节点固定用 HTTPS 访问源站。源站必须能提供 HTTPS 服务,也就是要在宝塔面板开启 SSL 并部署证书,否则回源会被拒。
- HTTP 回源:CDN 节点用 HTTP(明文)访问源站。源站不需要开 SSL;但要注意 CDN 到源站这一段是明文传输。
- 协议跟随:CDN 用用户访问时的协议回源。用户用 HTTPS 访问时 CDN 就用 HTTPS 回源,因此源站同样需要支持 HTTPS(开 SSL);用户用 HTTP 访问时 CDN 用 HTTP 回源。为了让 HTTPS 用户正常访问,源站仍需开启 SSL。
在宝塔面板和 CDN 侧分别怎么做
回源协议在 CDN 服务商控制台配置。以宝塔面板里的两款 CDN 插件为例:
- 腾讯云 EdgeOne 插件 的域名管理里可以添加和管理接入站点所属的域名,包含 HTTPS、源站配置等项;源站配置即回源相关设置。
- 阿里云 ESA 插件 的站点配置里可上传证书、勾选「强制 HTTPS」;它的能力清单同时支持边缘证书、源站证书、强制 HTTPS 和 TLS 版本控制。
源站的 SSL 则在宝塔面板配置:进入对应站点的 SSL 页面,开启 SSL 并部署证书即可。两边是分开的两个地方:回源协议看 CDN 控制台,源站证书看宝塔面板,方向要一致。
用 CNAME 接入 CDN 时要注意什么
把域名指向 CDN,最常用到的解析类型就是 CNAME:在 DNS 里加一条 CNAME 记录,把主机记录指向 CDN 提供的别名域名,CDN 再按回源协议向你的源站回源。加 CNAME 时线路类型通常选「默认」,否则可能导致部分用户无法解析。
回源协议到底怎么配,以你所用 CDN 服务商控制台的选项为准;宝塔面板侧只需要保证「回源协议要求 HTTPS 时,源站确实开了 SSL 且证书有效」。
一句话判断
先看 CDN 控制台的回源协议:是「协议跟随」或「HTTPS 回源」,就去宝塔面板把源站的 SSL 开起来并配好证书;是「HTTP 回源」,源站可以不开 SSL,但要接受 CDN 到源站这一段是明文传输。
常见问题
CDN 配了 SSL,源站还要再开 SSL 吗?
看 CDN 的回源协议。回源协议设为「协议跟随」或「HTTPS 回源」时,CDN 用 HTTPS 访问源站,宝塔面板需要开启 SSL 并配置证书;设为「HTTP 回源」时,CDN 用 HTTP 访问源站,不需要配置 SSL。
什么是 CDN 回源协议?
回源协议是 CDN 访问源站(你自己的服务器)时使用的协议,常见取值有 HTTP 回源、HTTPS 回源、协议跟随三种。它决定 CDN 到源站这一段走明文 HTTP 还是加密 HTTPS。
协议跟随是什么意思?
协议跟随指 CDN 用用户访问 CDN 时所用的协议来回源:用户用 HTTPS 访问,CDN 就用 HTTPS 回源;用户用 HTTP 访问,CDN 就用 HTTP 回源。因此协议跟随时源站需要支持对应协议(含 SSL)。
边缘证书和源站证书有什么区别?
边缘证书是 CDN 节点对外提供 HTTPS 用的证书,源站证书是你服务器(宝塔面板)上的证书。两者是两段不同链路的加密:用户到 CDN 用边缘证书,CDN 到源站用源站证书(仅 HTTPS 回源时需要)。
宝塔面板在哪里配置源站 SSL?
在宝塔面板网站设置的 SSL 页面开启 SSL 并部署证书。回源协议则在 CDN 服务商控制台(如腾讯云 EdgeOne、阿里云 ESA)配置,两者分别设置、方向保持一致。