# SSL_ERROR_UNSUPPORTED_VERSION：Firefox 提示网站 TLS 版本太旧

> Firefox 提示 SSL_ERROR_UNSUPPORTED_VERSION，说明网站不支持 TLS 1.2 及以上。为什么不建议重新开启 TLS 1.0，以及服务器怎么改。

Source: https://ssl.sh/zh/errors/ssl-error-unsupported-version/
Last updated: 2026-11-10

**SSL_ERROR_UNSUPPORTED_VERSION 的意思是：Firefox 和网站之间没有共同的 TLS 版本，通常是网站只支持 TLS 1.0 或 1.1。** Firefox 默认要求 TLS 1.2 及以上。偶尔原因不在服务器，而是 Firefox 的设置被改过。

## 先判断是网站的问题还是你电脑的问题

服务器不支持 TLS 1.2 和 1.3 是服务器太老；服务器支持而你仍报错，就查 Firefox 设置和所在网络。用 [SSL 检测](https://ssl.sh/zh/tools/ssl-checker/) 看服务器支持哪些协议：

```bash
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 服务器、没人维护的虚拟主机。验证：

```bash
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](https://ssl.sh/zh/errors/err-ssl-version-or-cipher-mismatch/) |
| Safari | [Safari 无法建立安全连接](https://ssl.sh/zh/errors/safari-cant-establish-secure-connection/) |
| curl | `tlsv1 alert protocol version` |

## 站长怎么修

修法是在每个 TLS 入口开启 TLS 1.2 和 1.3，TLS 库太老就先升级。

**1. 开启 TLS 1.2 和 1.3。**

```nginx
ssl_protocols TLSv1.2 TLSv1.3;
```

```apache
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 配置生成器](https://ssl.sh/zh/tools/tls-config-generator/) 生成配置，再用 `curl ssl.sh/example.com` 确认支持 TLS 1.2 和 1.3。
