浏览器
SSL_ERROR_UNSUPPORTED_VERSION:Firefox 提示网站 TLS 版本太旧
SSL_ERROR_UNSUPPORTED_VERSIONSSL_ERROR_UNSUPPORTED_VERSION 的意思是:Firefox 和网站之间没有共同的 TLS 版本,通常是网站只支持 TLS 1.0 或 1.1。 Firefox 默认要求 TLS 1.2 及以上。偶尔原因不在服务器,而是 Firefox 的设置被改过。
先判断是网站的问题还是你电脑的问题
服务器不支持 TLS 1.2 和 1.3 是服务器太老;服务器支持而你仍报错,就查 Firefox 设置和所在网络。用 SSL 检测 看服务器支持哪些协议:
curl ssl.sh/example.com
- 检测显示不支持 TLS 1.2 和 1.3:服务器太老了。联系网站方,不要为了公开网站降低 Firefox 的安全设置。
- 检测显示 TLS 1.2/1.3 正常:查 Firefox。打开
about:config,搜索security.tls.version,min大于 3 或者max小于 4 就点重置箭头恢复默认。再试试新建配置文件或“故障排除模式”,排除扩展和策略的影响。
原因
多数情况下是服务器只支持 TLS 1.0 或 1.1。
1. 服务器只支持 TLS 1.0 或 TLS 1.1
老旧网络设备、老 Windows 服务器、没人维护的虚拟主机。验证:
openssl s_client -connect example.com:443 -servername example.com -tls1_2 </dev/null 2>&1 | grep -E "Protocol|alert"
出现 protocol version 之类的告警,就说明服务器不支持 TLS 1.2。
2. Firefox 设置被改过
security.tls.version.min 设成 4 会只用 TLS 1.3,访问只支持 TLS 1.2 的服务器就失败;security.tls.version.max 设成 1 或 2 几乎所有网站都会出错。两项都恢复默认。
3. 中间设备只会旧版 TLS
拦截 HTTPS 的老代理、防火墙或上网行为管理设备,自己和 Firefox 之间只能协商 TLS 1.0。只在某个网络里、很多网站都报这个错,就请网络管理员升级设备。
4. 企业策略
统一管理的 Firefox 可以在 policies.json 里设置 TLS 范围(SSLVersionMin/SSLVersionMax),到 about:policies 查看。
在各浏览器/系统上的样子
在 Chrome 和 Edge 里,这个问题显示为 ERR_SSL_VERSION_OR_CIPHER_MISMATCH;curl 报 tlsv1 alert protocol version。
| 浏览器 | 显示内容 |
|---|---|
| Firefox | “建立安全连接失败”,说明网站可能不支持 TLS 1.2,代码 SSL_ERROR_UNSUPPORTED_VERSION |
| Chrome / Edge / 360 / QQ 浏览器 | ERR_SSL_VERSION_OR_CIPHER_MISMATCH |
| Safari | Safari 无法建立安全连接 |
| curl | tlsv1 alert protocol version |
站长怎么修
修法是在每个 TLS 入口开启 TLS 1.2 和 1.3,TLS 库太老就先升级。
1. 开启 TLS 1.2 和 1.3。
ssl_protocols TLSv1.2 TLSv1.3;
SSLProtocol -all +TLSv1.2 +TLSv1.3
宝塔面板在站点 SSL 设置里勾选 TLSv1.2、TLSv1.3;云厂商 CDN、负载均衡选最低 TLS 1.2 的安全策略。
2. TLS 库太老就升级。 服务器提供不了 TLS 1.2 时(OpenSSL 1.0.1 是最低门槛),升级到仍在维护的版本,老旧的 CentOS 6 之类系统要迁移。
3. 每个 TLS 入口都要查:CDN、负载均衡和源站可能各有一套协议设置。
4. 生成配置并验证。 用 TLS 配置生成器 生成配置,再用 curl ssl.sh/example.com 确认支持 TLS 1.2 和 1.3。
常见问题
Firefox 页面上有“启用 TLS 1.0 和 1.1”的按钮,要点吗?
不建议。这个按钮降低的是所有网站的最低版本,不只是当前这个。只在可信内网里、访问你自己的设备时临时用一下,用完把 security.tls.version.min 改回 3。如果是网站,请让网站方开启 TLS 1.2。
Firefox 的 TLS 版本设置默认值是多少?
当前版本的 Firefox 默认最低是 3(TLS 1.2),最高是 4(TLS 1.3)。你的值不一样又没改过,就是某个扩展、企业策略或网上的“优化教程”改的。
只有 Firefox 会这样吗?
不是。Chrome、Edge、Safari 也都拒绝只支持 TLS 1.0/1.1 的服务器,只是提示不同,比如 ERR_SSL_VERSION_OR_CIPHER_MISMATCH。
只有一个网站打不开,而且是我家的路由器后台,怎么办?
很多老路由器、NAS、打印机只支持 TLS 1.0。先去厂商官网找固件更新;没有的话,在自己家的可信网络里用它的 HTTP 管理页面,或者临时在 Firefox 里放开 TLS 1.0,用完立刻把 security.tls.version.min 改回 3。日常上网绝对不要一直保持较低的最低版本。