CDN与SSL/TLS配置 – 免费证书与HTTPS加速
评测概述
启用HTTPS已经是网站的基本要求。当网站接入cdn后,SSL/TLS证书的配置方式会有所不同——证书可以安装在源站,也可以安装在CDN节点上,或者两端都装。
本文介绍CDN场景下SSL/TLS的几种配置模式,以及如何用免费证书实现HTTPS加速。
一、CDN场景下的三种SSL模式
模式一:SSL终止在CDN节点
用户到CDN节点使用HTTPS,CDN到源站使用HTTP。这是最常见的配置方式,源站不需要安装证书,配置简单。缺点是CDN到源站这一段是明文传输。
模式二:端到端加密(SSL直连)
用户到CDN使用HTTPS,CDN到源站也使用HTTPS(通常使用源站证书或自签名证书)。源站需要安装证书,配置稍复杂,但全程加密。
模式三:自定义证书上传
将自己的付费证书上传到CDN平台,由CDN节点直接提供证书。适用于需要品牌证书(如EV证书)或特定加密套件的场景。
二、推荐方案:免费证书 + 端到端加密
对于大多数个人站长,推荐使用Let's Encrypt免费证书 + 端到端加密模式:
- 在源站安装Let's Encrypt证书(使用Certbot自动申请)
- 在CDN控制台上传源站证书,或使用CDN提供的免费证书
- CDN回源时使用HTTPS(选择“协议跟随”或“强制HTTPS”)
这样用户到CDN、CDN到源站都是加密传输,全程安全。
三、各主流CDN的SSL配置方式
| CDN | 免费证书 | 自定义证书 | 回源方式 |
|---|---|---|---|
| Cloudflare(免费版) | ✅ 自动提供(Universal SSL) | ✅ | HTTP/HTTPS可选 |
| Cloudflare(Pro+) | ✅ 可上传自定义 | ✅ | 端到端加密 |
| 又拍云 | ✅(Let's Encrypt) | ✅ | HTTP/HTTPS可选 |
| 七牛云 | ✅(托管证书) | ✅ | HTTP/HTTPS可选 |
| 阿里云CDN | ✅(免费证书) | ✅ | HTTP/HTTPS可选 |
| 腾讯云EdgeOne(免费版) | ✅(自动管理) | ❌ | HTTPS(默认) |
四、Cloudflare SSL模式详解
Cloudflare免费版提供四种SSL模式,在控制台“SSL/TLS”中设置:
- Off(不加密):不推荐,已废弃。
- Flexible:用户到CF加密,CF到源站HTTP。源站不需要证书,但CF到源站明文传输。
- Full:用户到CF加密,CF到源站HTTPS(源站需有证书,但证书可以自签名)。
- Full (strict):用户到CF加密,CF到源站HTTPS(源站证书必须由可信CA签发,如Let's Encrypt)。推荐使用。
建议启用 Full (strict) 模式,配合源站Let's Encrypt证书,实现端到端加密。
五、配置步骤(以Cloudflare + Let's Encrypt为例)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
- 在源站安装Certbot,申请Let's Encrypt证书:
- 在Cloudflare控制台将SSL/TLS模式设为“Full (strict)”。
- Cloudflare会自动使用源站证书验证加密连接,不需要额外上传。
- 在源站Nginx配置中确保HTTPS监听正常。
验证方法:访问网站,检查浏览器地址栏的锁图标,确认证书有效。同时检查Cloudflare控制台的“边缘证书”状态。
六、常见问题
Q:使用Cloudflare免费版后,源站还需要装证书吗?
如果使用Flexible模式,不需要。如果使用Full或Full (strict)模式,需要安装证书(Full模式可用自签名证书,Full (strict)需要可信CA签发的证书)。
Q:CDN免费证书和付费证书有什么区别?
免费证书(如Let's Encrypt)有效期短(90天),需要自动续期。付费证书有效期长(1-2年),品牌信任度更高,但个人网站使用免费证书足够。
Q:启用HTTPS后CDN速度会变慢吗?
HTTPS握手会增加一次往返延迟(约100-200ms),但CDN节点通常支持Session Resumption和TLS 1.3,可以大幅减少延迟。对于大多数网站,速度影响可以忽略。
通过合理配置SSL模式,可以在保证安全的同时充分利用CDN的加速能力。


