本文汇总CDN HTTPS配置相关的常见问题及排查方法,涵盖证书上传报错、HTTPS访问异常、设备兼容性和HTTPS性能优化等问题。
症状速查表
先根据客户端观测到的现象定位排查入口,再按对应章节的步骤逐项排查。
现象或报错 | 常见原因 | 排查入口 |
控制台上传证书时报错 | 证书或私钥格式错误、两者不匹配、证书已过期 | |
HTTPS访问失败,HTTP访问正常 | CDN未配置证书,或证书无效、与域名不匹配 | |
浏览器报 | 客户端与CDN节点的TLS协议版本或加密套件无交集 | |
浏览器提示“不安全”或证书风险 | 证书链不完整、证书过期、自签名证书、网页混合内容 | |
HTTP访问未自动跳转到HTTPS | 配置证书后未单独开启强制跳转 | |
部分旧设备或IoT设备无法HTTPS访问 | 客户端不支持SNI,或证书链不完整 | |
HTTPS访问慢、TLS握手耗时长 | OCSP查询超时、证书链过大、TLS协议版本较低、解析调度偏远 |
如何判断问题是否在HTTPS配置层
当您使用CDN加速域名时,如果出现HTTPS相关的问题,可以按以下判断思路定位问题层级:
证书配置阶段报错:在上传或选择证书时控制台直接报错,属于证书配置问题,参见证书配置与上传报错。
HTTPS访问失败但HTTP正常:通过HTTP协议可以正常访问但HTTPS访问失败或提示证书错误,通常是CDN未配置SSL证书或证书配置有误,参见HTTPS访问异常。
浏览器提示证书风险:HTTPS可以访问但浏览器显示"不安全"或证书风险提示,属于证书有效性或网页混合内容问题,参见网站提示证书风险。
部分设备无法访问:大部分设备正常但特定设备(如停止维护的旧版操作系统、部分物联网IoT设备)无法通过HTTPS访问,通常是SNI兼容性问题,参见设备与客户端兼容性。
HTTP未自动跳转HTTPS:已配置HTTPS证书且HTTPS访问正常,但HTTP访问未自动跳转到HTTPS,属于跳转配置问题,参见强制HTTPS跳转。
回源HTTPS异常:客户端访问CDN正常,CDN回源时返回5xx或源站证书校验失败,属于回源配置问题,请参见回源排障指南。
证书配置与上传报错
HTTPS访问异常
强制HTTPS跳转
设备与客户端兼容性
HTTPS性能优化
常用诊断命令
以下命令帮助您快速诊断HTTPS配置问题,可在本地终端执行。
查看CDN节点部署的证书信息:输出证书的域名(subject)、颁发机构(issuer)和有效期(dates),可快速确认CDN节点是否部署了正确的证书。
openssl s_client -connect <加速域名>:443 -servername <加速域名> < /dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates查看完整证书链:输出完整的证书链,用于检查中间证书是否完整。
openssl s_client -connect <加速域名>:443 -servername <加速域名> -showcerts < /dev/null 2>/dev/null查看HTTPS请求的TLS握手详情:输出TLS版本、证书主体、颁发者和过期时间等关键信息。
curl -vI https://<加速域名> 2>&1 | grep -E "SSL|subject|issuer|expire|TLS|HTTP/"检查证书有效期:
openssl x509 -in <证书文件> -noout -dates验证证书与私钥是否匹配(通用方法):两行输出的MD5值一致即匹配。
openssl x509 -pubkey -noout -in <证书文件> | openssl md5
openssl pkey -pubout -in <私钥文件> | openssl md5检查域名解析是否指向CDN:输出应为CDN分配的CNAME指向的IP地址,而非源站IP。
dig <加速域名> +short跟踪HTTP跳转链路:用于排查强制HTTPS跳转和重定向循环问题。
curl -vIL --max-redirs 10 http://<加速域名> 2>&1 | grep -E "< HTTP|< Location"