# TLS 1.0 连接尝试被拒绝：协议版本不受支持

- **ID:** `security/tls-1-0-protocol-deprecated`
- **领域:** security
- **类别:** network_error
- **错误码:** `SSL_ERROR_PROTOCOL_VERSION_ALERT`
- **验证级别:** ai_generated
- **修复率:** 90%

## 根因

服务器或客户端仅支持 TLS 1.0，而现代安全策略已弃用并禁用它，导致握手失败。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| OpenSSL 1.1.1 | active | — | — |
| OpenSSL 3.0 | active | — | — |
| Nginx 1.18 | active | — | — |
| Java 11 | active | — | — |
| Java 17 | active | — | — |
| Python 3.8 | active | — | — |

## 解决方案

1. ```
   升级客户端以支持 TLS 1.2 或更高版本。对于 OpenSSL：使用 `openssl s_client -tls1_2 -connect host:port` 进行测试。
   ```
2. ```
   如果无法升级客户端，可在受控环境中临时允许 TLS 1.0，例如 Nginx 配置：`ssl_protocols TLSv1 TLSv1.1 TLSv1.2;` 但仅作为短期缓解措施。
   ```
3. ```
   对于 Java 应用，设置 `-Djdk.tls.client.protocols=TLSv1.2` 以强制使用更新的协议。
   ```

## 无效尝试

- **** — Disabling TLS 1.0 on the server without upgrading the client breaks compatibility for legacy clients. (80% 失败率)
- **** — Adding TLS 1.0 as a cipher suite doesn't work; cipher suites are separate from protocol versions. (90% 失败率)
- **** — Restarting the service without changing the TLS configuration doesn't resolve the version mismatch. (40% 失败率)
