免备案CDN空间能不能部署SSL证书,要看选用哪一类CDN产品,免备案这个标签下面包含多种完全不同的产品,它们对SSL证书的支持能力差异很大。
选用Cloudflare这类国际厂商免费版,是可以部署,操作起来也简单。接入Cloudflare之后系统会自动给域名签发一张Let's Encrypt通配符SSL证书,不用手动申请上传,后台无需额外操作,HTTPS直接生效。如果打算使用自有证书,Cloudflare支持自定义证书上传,SSL/TLS设置页面能够选择加密模式,Full模式代表CDN到源站同样走加密传输,Flexible模式只加密访客到CDN节点,CDN回源到源站依旧使用HTTP。对于未备案域名,Cloudflare免费SSL门槛最低,整个流程不会校验备案,域名托管在Cloudflare的DNS,证书自动配置完成。

如果选用国内云厂商海外版免备案CDN,比如腾讯云EdgeOne、阿里云ESA海外节点,情况会复杂一些。这类产品确实支持未备案域名接入海外加速区域,也能够配置SSL证书,操作时需要留意加密模式的选择。EdgeOne要把加速区域选定全球可用区(不含中国大陆),再开启SSL,流程和Cloudflare大体相近。阿里云ESA海外版支持上传证书或者申请免费证书,配置阶段核对加速域名和证书域名是否匹配,域名不匹配CDN节点无法建立加密连接。这类产品SSL功能完整,只是需要手动在控制台配置,不像Cloudflare全自动。
还有一类是小型免备案CDN服务商,像DokiDoki、初七云以及其他不知名平台。它们大多宣称支持SSL,但实际使用会出现各类限制。有的只提供共享SSL,也就是全部用户共用一张泛域名证书,你的域名不在证书SAN列表,浏览器访问直接弹出证书不匹配警告。部分平台虽然支持上传自有证书,但证书私钥需要交给平台托管,从安全层面看风险偏高。还有不少平台免费版本直接不开放SSL,需要升级付费套餐才能启用HTTPS。挑选这类服务商,购买前确认SSL支持的具体形式,不要等配置完成才发现只能使用HTTP协议。
当CDN平台不提供证书签发能力,可以自行申请证书上传。免费证书来源有几种,Let's Encrypt最为常用,借助acme.sh或者certbot工具自动申请、续期,不过Let's Encrypt证书有效期只有90天,需要配置定时任务自动更新。国内也有免费证书渠道,Freessl.cn可以申请Let's Encrypt、TrustAsia免费证书,申请流程简单,到期手动重新申请即可。拿到证书文件和私钥之后,上传到CDN控制台,CDN节点就使用这份证书和访客建立HTTPS连接。
有一处技术细节容易踩坑,就是CDN回源加密。在CDN侧部署SSL证书,访客到CDN节点链路加密,但CDN节点访问源站服务器,默认可能是明文HTTP。如果业务需要全链路加密,要在CDN后台把回源协议修改为HTTPS,同时源站服务器也要部署证书。部分服务商把这项设置叫做回源SNI或者源站证书校验,配置的时候留意。不开启的话,CDN到源站的公网流量是明文传输,源站IP虽然隐藏,链路劫持风险依旧存在。
免备案CDN搭配SSL还有一个绕不开的问题,HTTPS兼容性和浏览器信任问题。Cloudflare或者正规服务商签发的证书,主流浏览器都信任,地址栏出现安全锁标识。如果使用小平台提供的自签证书,浏览器直接弹出安全警告,访客需要手动确认继续访问,用户体验很差,搜索引擎也不偏好这类站点。无论选用哪家CDN,SSL证书尽量选择可信CA机构签发,Let's Encrypt、TrustAsia、DigiCert都可以,不要图省事直接用自签证书。
最后提合规相关内容。免备案CDN搭配SSL,技术层面能够正常运行,但开启HTTPS加密不等于网站内容合规。网站实质面向国内用户提供服务,单纯依靠海外CDN节点规避备案,依旧存在合规风险。SSL证书只加密传输链路,解决不了备案相关要求。内容合规、跨境数据传输这类要求,不会因为启用HTTPS自动消失。技术手段解决范围有限,这点要心里清楚。