1.
概述:先判断你的需求
小分段:明确域名类型(单域、泛域、SAN多域)和是否需要上传自定义证书;评估是否能接受CDN提供的托管证书(例如Cloudflare免费或Let’s Encrypt);确定是否需要专用IP(旧客户端兼容或非SNI环境)。
2.
准备证书材料(实际操作)
小分段:向受信任CA申请证书,获取:1) 证书文件(通常cert.pem或 .crt),2) 私钥文件(.key),3) 中间证书链(chain.pem)。小分段:确保证书格式为PEM(ASCII),私钥无密码(如有密码需执行openssl rsa -in key.pem -out key_nopass.pem)。
3.
检查证书链与格式(命令示例)
小分段:用openssl验证:openssl x509 -in cert.pem -noout -text 查看CN/SAN和有效期;openssl verify -CAfile chain.pem cert.pem 验证链;确保证书链顺序为“服务器证书 + 中间证书(可多层)”,根证书一般不上传。
4.
SNI与专用IP的选择判断
小分段:如果客户端群体现代(SNI普及),优先选择SNI方式(大多数CDN默认);若需兼容老旧设备或由于某些ISP问题需要IP-based SSL,则申请CDN的专用IP或独享证书(通常付费)。
5.
CDN面板通用操作步骤(上传证书)
小分段:进入CDN控制台→域名列表→选择域名→SSL/TLS配置→选择“自定义证书”或“上传证书”;小分段:粘贴证书内容(按顺序)、中间链、粘贴私钥(无密码),保存并部署。等待几分钟到十几分钟生效。
6.
各大厂商关键差异与操作要点
小分段:CloudFront:必须在us-east-1通过ACM申请或上传证书(若自定义证书使用IAM上传),并在Distribution中配置Alternate Domain Names;小分段:Cloudflare:免费证书可选Flexible/Full/Full(strict),上传自定义证书仅企业版支持,常用Origin CA证书保护源站;小分段:阿里/腾讯/Fastly等均有“上传证书”入口,注意选择证书归属地域与证书ID绑定域名。
7.
源站与回源协议配置(重要)
小分段:CDN与源站之间建议使用HTTPS回源,证书可以使用源站自签或CA签(CDN一般可配置是否校验回源证书);小分段:CloudFront需要在Origin配置Origin Protocol Policy为HTTPS Only或Match Viewer;小分段:如使用自签证书,需在CDN面板开启“忽略回源证书校验”或上传回源证书。
8.
强制HTTPS、重定向与HSTS设置
小分段:在CDN配置中启用“强制HTTPS”或使用规则引擎(Page Rules)设置301重定向,避免混合内容;小分段:启用HSTS须谨慎,建议暂时小范围开启并确保所有子域都可服务HTTPS。
9.
TLS版本、密套件与OCSP Stapling
小分段:在CDN面板选择TLS最低版本(建议TLS1.2以上),禁用旧版SSL/TLS;小分段:如果CDN支持,启用OCSP Stapling和现代优选密套件以提高性能和安全性。
10.
自动化续期与证书到期应对
小分段:若使用Let’s Encrypt或ACM,启用自动续期;小分段:若为自定义CA证书,建立到期提醒和标准化上传流程(包含私钥/链的保管),避免证书过期导致整个域名不可用。
11.
测试步骤(上线前后的验证)
小分段:使用openssl s_client -connect yourdomain:443 -servername yourdomain 查看证书链与SNI是否生效;小分段:使用curl -v https://yourdomain --resolve yourdomain:443:CDN_IP 验证;小分段:使用SSL Labs(Qualys)做全面扫描,检查链、协议、密套件和OCSP。
12.
排错常见问题与解决办法
小分段:若浏览器提示证书不受信任,检查是否上传完整中间链;小分段:若显示不匹配域名,检查证书的CN/SAN是否包含访问域名并确认是否有www/主域别名;小分段:若回源报错,检查回源证书是否为自签且CDN是否配置校验策略。
13.
最佳实践小结
小分段:优先使用CDN托管或ACM类自动管理证书以降低维护成本;小分段:必要时上传自定义证书,确保证书无密码并包含完整链;小分段:启用TLS1.2/1.3、OCSP Stapling、强制HTTPS与自动续期。
14.
问:如何判断我是否需要上传自定义证书?
小分段:判断标准:是否使用私有CA/自签证书、是否需要特定证书链或组织验证(OV/EV)、是否需要证书主体显示企业信息。若这些都不需要,优先使用CDN提供的托管证书。
15.
答:
小分段:如果只是普通业务且接受CDN免费或自动签发(如Let’s Encrypt/ACM)则不必上传自定义证书;小分段:若需要EV/OV显示、特定CA合规或已购商业证书,按上文准备证书材料并在CDN面板上传。
16.
问:如果证书上传后仍报错“中间证书不完整”怎么办?
小分段:先用openssl x509 -in cert.pem -noout -text 检查Issuer,再确认chain.pem是否包含所有中间CA证书并按顺序合并(服务器证书在前),重新上传并等待下发。
17.
答:
小分段:将服务器证书文件与中间证书按“服务器证书 + 中间1 + 中间2...”顺序合并成一个文件,或者在面板分别粘贴相应字段;小分段:若仍异常,联系CDN支持并提供openssl verify输出与证书文件供他们诊断。
18.
问:如何线上快速验收HTTPS是否通过CDN生效?
小分段:使用curl、openssl和浏览器+隐身模式验证证书;小分段:推荐步骤:1)curl -v https://yourdomain 2)openssl s_client -connect yourdomain:443 -servername yourdomain 3)用SSL Labs做一次深度检测。
19.
答:
小分段:通过上述命令查看证书链、有效期和颁发者,同时注意HTTP响应头中的Strict-Transport-Security与CDN返回的证书主体,确认均为期望的证书,若一致表示配置生效。