阿里云CDN配置SSL证书完整教程:从申请到部署
阿里云CDN配置SSL证书完整教程:从申请到部署
阿里云CDN在国内市场份额很高,但CDN节点配置SSL证书的流程让很多新手头疼。关键是要理解CDN模式下的证书部署位置——证书是部署在CDN节点上,不是源站。这篇把阿里云CDN配置SSL证书的完整流程讲清楚。
理解CDN模式下的SSL证书
普通模式:用户 → 源站(HTTPS证书在源站)
CDN模式:用户 → CDN节点 → 源站(HTTPS证书在CDN节点)
关键点:
- •用户访问的是CDN节点的证书,不是源站的证书
- •CDN节点回源到源站时可以用HTTP或HTTPS
- •证书必须部署在CDN节点上
- •一个CDN域名对应一张证书
第一步:申请SSL证书
方式一:在sslmianfei.com申请免费证书(推荐)
在 sslmianfei.com 在线申请ZeroSSL免费证书,下载Nginx格式的证书文件:
- •
fullchain.crt(证书文件,包含中间证书) - •
private.key(私钥文件)
方式二:在阿里云申请免费证书
阿里云SSL证书控制台 → 免费证书 → 立即购买(20张免费额度)→ 申请证书 → 填写域名 → DNS验证 → 下载Nginx格式证书。
方式三:在阿里云购买付费证书
适合需要OV/EV证书的企业用户,付费证书可以直接在CDN控制台关联使用。
第二步:添加CDN域名
如果还没添加CDN域名,先添加:
- 登录阿里云CDN控制台
- 左侧菜单”域名管理” → “添加域名”
- 填写加速域名(如
www.yourdomain.com) - 选择业务类型(图片小文件、大文件下载、视频流媒体等)
- 源站信息填写源站IP或域名
- 端口选择443(HTTPS)或80(HTTP)
- 提交审核(通常1-2个工作日)
加速区域选择:
- •仅中国内地:国内用户访问
- •全球:全球用户访问
- •全球(不含中国内地):海外用户访问
第三步:配置SSL证书
入口位置
- 进入阿里云CDN控制台
- 域名管理 → 找到目标域名 → 管理
- 左侧菜单”HTTPS配置” → “HTTPS安全配置”
上传证书
情况一:证书在sslmianfei.com申请的
选择”自定义证书” → “上传自定义证书”:
- •证书名称:随意填写(如yourdomain-ssl)
- •证书(公钥):粘贴
fullchain.crt的全部内容 - •私钥:粘贴
private.key的全部内容
注意:必须使用fullchain(包含中间证书),否则部分浏览器会报证书不受信任。
情况二:证书在阿里云申请的
选择”云盾证书” → 在下拉框中选择已申请的证书 → 直接关联,无需上传。
情况三:证书在阿里云购买的付费证书
同情况二,选择云盾证书即可。
启用HTTPS
上传证书后:
- 开启”HTTPS安全加速”
- 选择刚上传或关联的证书
- 点击”确定”
证书生效需要1-5分钟,等待期间访问HTTPS可能报错。
第四步:配置强制HTTPS跳转
用户输入域名访问时默认走HTTP,需要配置强制跳转到HTTPS。
- CDN控制台 → 域名管理 → 目标域名 → 管理
- “HTTPS配置” → “强制跳转”
- 选择”HTTP → HTTPS”
- 跳转方式选择”301″
- 点击”确定”
配置后效果:用户访问 http://yourdomain.com 会自动301跳转到 https://yourdomain.com。
第五步:配置HTTP/2
HTTP/2能显著提升页面加载速度,阿里云CDN支持HTTP/2。
- CDN控制台 → 域名管理 → 目标域名 → 管理
- “HTTPS配置” → “HTTP/2设置”
- 开启HTTP/2
- 点击”确定”
HTTP/2的要求:
- •必须先配置SSL证书
- •客户端浏览器必须支持HTTP/2(现代浏览器都支持)
- •源站不需要支持HTTP/2,CDN会自动处理
第六步:配置回源协议
回源协议决定CDN节点访问源站时用什么协议:
- •HTTP:CDN节点用HTTP回源(源站只需80端口)
- •HTTPS:CDN节点用HTTPS回源(源站必须配置SSL证书)
- •协议跟随:用户用HTTP访问则HTTP回源,用户用HTTPS访问则HTTPS回源
推荐配置:
- •如果源站配置了SSL证书:选择”HTTPS”或”协议跟随”
- •如果源站没配置SSL证书:选择”HTTP”
- •大多数情况推荐”协议跟随”,最灵活
第七步:验证配置
验证HTTPS访问
浏览器访问 https://yourdomain.com,检查:
- •地址栏显示绿色小锁
- •点击锁标查看证书信息
- •证书颁发者正确
- •证书有效期正确
- •证书包含的域名和访问的域名一致
在线检测
用 SSL证书配置检测工具 检测:
- •证书链是否完整
- •TLS版本是否安全
- •证书品牌
- •有效期
- •安全响应头
检测HTTP跳转
浏览器访问 http://yourdomain.com,应该自动跳转到 https://yourdomain.com。
证书更新(续期)
免费证书90天有效期,到期前需要更新CDN上的证书。
方式一:手动更新
- 在 sslmianfei.com 申请新证书
- CDN控制台 → HTTPS配置 → 证书管理
- 删除旧证书
- 上传新证书
- 等待1-5分钟生效
方式二:使用阿里云免费证书自动续期
阿里云SSL证书控制台 → 免费证书 → 申请时开启”自动续期”。
注意:阿里云免费证书每年只有20张额度,且有效期3个月,频繁续期比较麻烦。建议用 sslmianfei.com 申请无数量限制的ZeroSSL证书。
方式三:使用付费证书自动续期
阿里云购买的品牌证书(OV/EV)通常有效期1-2年,不需要频繁续期。证书到期前30天阿里云会发送提醒。
常见问题排查
问题一:HTTPS访问报”证书不受信任”
原因:证书链不完整,缺少中间证书。
解决:
- •确认上传的是
fullchain.crt而不是单独的服务器证书 - •用 SSL检测工具 检测证书链
- •重新上传包含中间证书的fullchain
问题二:HTTPS访问报”证书域名不匹配”
原因:证书的域名和CDN加速域名不一致。
解决:
- •确认证书包含CDN加速域名
- •例如CDN域名是
www.example.com,证书必须包含www.example.com - •如果是通配符证书
*.example.com,确保域名层级匹配
问题三:HTTPS访问502/504错误
原因:CDN节点回源失败,源站不可达或回源协议错误。
解决:
- •检查源站是否正常运行
- •检查回源协议配置是否正确
- •如果回源协议是HTTPS,源站必须配置SSL证书
- •检查源站防火墙是否放行了CDN节点IP
问题四:HTTP跳转HTTPS不生效
原因:强制跳转配置没生效,或浏览器缓存了旧的301跳转。
解决:
- •确认已开启”HTTP → HTTPS”强制跳转
- •等待1-5分钟配置生效
- •清除浏览器缓存或用无痕模式测试
问题五:HTTP/2没生效
原因:HTTP/2需要HTTPS环境,或客户端浏览器不支持。
解决:
- •确认已配置SSL证书
- •确认已开启HTTP/2
- •用Chrome开发者工具 → Network → Protocol列查看是否显示”h2″
- •老旧浏览器可能不支持HTTP/2
问题六:证书上传失败
原因:证书格式错误,或私钥有密码保护。
解决:
- •确认上传的是PEM格式(以
-----BEGIN开头) - •确认私钥没有密码保护
- •检查证书和私钥是否匹配
# 验证证书和私钥是否匹配
openssl x509 -noout -modulus -in fullchain.crt | openssl md5
openssl rsa -noout -modulus -in private.key | openssl md5
# 两个md5值必须一致
高级配置
配置HSTS响应头
HSTS强制浏览器后续都用HTTPS访问,避免降级攻击:
- CDN控制台 → 域名管理 → 目标域名 → 管理
- “缓存配置” → “自定义HTTP响应头”
- 添加响应头:
- •Header:
Strict-Transport-Security - •Value:
max-age=31536000; includeSubDomains
- 操作:设置
- 点击”确定”
配置OCSP装订
OCSP装订能加速TLS握手:
- CDN控制台 → 域名管理 → 目标域名 → 管理
- “HTTPS配置” → “OCSP装订”
- 开启OCSP装订
- 点击”确定”
配置TLS版本
建议只启用TLS 1.2和1.3,禁用TLS 1.0和1.1:
- CDN控制台 → 域名管理 → 目标域名 → 管理
- “HTTPS配置” → “TLS版本控制”
- 取消勾选TLS 1.0和TLS 1.1
- 勾选TLS 1.2和TLS 1.3
- 点击”确定”
总结
阿里云CDN配置SSL证书的完整流程:
- 在 sslmianfei.com 申请免费SSL证书
- 添加CDN加速域名(如果还没添加)
- 上传证书到CDN控制台
- 开启HTTPS安全加速
- 配置HTTP强制跳转HTTPS
- 开启HTTP/2
- 配置回源协议
- 用 SSL检测工具 验证配置
核心注意事项:
- •证书必须部署在CDN节点,不是源站
- •必须使用fullchain(包含中间证书)
- •证书域名必须和CDN加速域名匹配
- •证书90天到期前及时更新
- •推荐开启HTTP/2和HSTS提升安全性和速度
如果反复配置都不生效,建议先在源站直接配置SSL证书排除CDN问题,参考 SpringBoot配置SSL证书教程 或 Nginx配置SSL证书教程。