首页/安全/加密与证书速查/TLS 版本与客户端兼容性
TLS 与 HTTPS60 条

TLS 版本与客户端兼容性

规划协议版本先看客户端支持面:主流浏览器与近年运行时都支持 TLS 1.3,存量 Java、Android 与嵌入式设备可能停留在 1.2 甚至更低,需要按实际流量数据决策。

加密与证书速查安全更新于 2026-10-13

版本兼容性怎么判断

规划协议版本要先看客户端支持面:主流浏览器与近年运行时都支持 TLS 1.3,存量 Java 运行时、旧版移动系统与嵌入式设备可能停留在 1.2 甚至更低,必须按实际流量数据决策。常见做法是先统计服务端日志中的版本与套件分布,再分批关闭旧版本,并为无法升级的长尾设备单独隔离或前置代理,而不是把主站整体降级。

基本信息

TLS 1.3主流浏览器与近年运行时默认支持
TLS 1.2仍被广泛支持,是存量系统的实际底线
TLS 1.0/1.1已被主流浏览器与合规要求放弃
决策依据统计服务端日志中的版本与套件占比

典型使用场景

  • 下线旧协议:先统计客户端分布再分批执行
  • 兼容性排查:客户端握手失败时对比支持的版本
  • 新系统选型:确认目标运行时是否默认启用新版本
  • 合规整改:满足监管对协议版本的最低要求
  • 长尾设备处理:为无法升级的设备单独规划接入

探测服务端支持的版本

探测服务端支持的版本
for v in tls1_2 tls1_3; do echo "== $v"; openssl s_client -connect example.com:443 -$v </dev/null 2>&1 | grep -E 'Protocol|Cipher'; done
nmap --script ssl-enum-ciphers -p 443 example.com                                        # 枚举版本与套件
openssl s_client -connect example.com:443 -tls1 </dev/null 2>&1 | grep -i 'alert\|error'  # 验证旧版本已关闭

版本与处理建议

版本支持现状处理建议
TLS 1.3主流客户端普遍支持优先启用
TLS 1.2存量系统的底线保留并配合加固
TLS 1.1已不推荐规划关闭
TLS 1.0已不推荐尽快关闭
只支持旧版本的设备(打印机、工控网关、老终端)可以单独隔离或前置代理接入,而不是把主站的协议版本整体下调。

下线步骤

  • 开启日志记录协议与套件字段并采集一段时间
  • 按分布结果确定关闭顺序与保留清单
  • 先关闭最旧版本并观察错误率
  • 为无法升级的客户端规划专用入口
关闭旧版本前必须统计访问日志:个别设备在关闭后彻底断连,这类断连往往不会产生服务端错误日志,只能靠客户端反馈发现。

易错点

  • 只按浏览器测试结果判断兼容性,忽略 Java 客户端与移动应用的握手行为
  • 关闭旧版本前未统计访问日志,导致个别设备彻底断连
  • 为主站整体降级以兼容老设备,牺牲了全部用户的安全性
  • 忽略中间设备的协议支持:负载均衡或网关可能不支持新版本
  • 启用新版本后不做回归验证,未确认全部客户端仍能连接

数据来源与参考

  • RFC 8446 附录 D(向后兼容)
  • OpenSSL 1.1.1 发布说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌