The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
时间: 2023-12-17 20:27:18 浏览: 87
这个问题是由于客户端和服务器端的TLS版本不一致导致的。客户端希望使用TLS1.2,但服务器选择了TLS1.0。为了解决这个问题,有以下两种方法:
1.升级服务器端的TLS版本,使其支持TLS1.2。这可以通过更新服务器端的SSL/TLS库来实现。例如,在Apache服务器上,可以通过更新OpenSSL库来升级TLS版本。
2.降低客户端的TLS版本,使其支持TLS1.0。这可以通过在客户端应用程序中设置SSLContext来实现。例如,在Java中,可以使用以下代码将SSLContext设置为TLS1.0:
```java
SSLContext sslContext = SSLContext.getInstance("TLSv1");
sslContext.init(null, null, null);
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
```
相关问题
Mybatis plus The server selected protocol version TLS10 is not accepted by client preferences
根据提供的引用内容,出现这个错误是因为客户端和服务器之间的TLS协议版本不匹配。客户端偏好的TLS协议版本是TLS12,但服务器选择的协议版本是TLS10。为了解决这个问题,你可以尝试以下方法:
1. 更新JDK版本:确保你使用的是最新版本的JDK,因为较新的JDK版本通常支持更高级的TLS协议版本。你可以从Oracle官方网站下载并安装最新的JDK。
2. 配置JVM参数:在启动应用程序时,可以通过设置JVM参数来指定TLS协议版本。例如,你可以使用以下参数来强制使用TLS12协议:
```shell
-Dhttps.protocols=TLSv1.2
```
3. 更新数据库驱动程序:如果你使用的是旧版本的数据库驱动程序,尝试更新到最新版本。新版本的驱动程序通常会支持更高级的TLS协议版本。
4. 检查服务器配置:确保服务器端已正确配置以支持TLS12协议。你可以联系服务器管理员或运维团队,确认服务器是否已经更新到支持TLS12的版本。
5. 检查网络代理设置:如果你的应用程序通过代理服务器连接到数据库服务器,确保代理服务器也支持TLS12协议。你可以联系网络管理员或代理服务器提供商,了解如何配置代理服务器以支持TLS12。
请注意,具体的解决方法可能因你的环境和具体情况而有所不同。建议你根据实际情况选择适合的解决方法。
jdbc The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
该错误是由于客户端和服务器之间的TLS协议版本不兼容导致的。客户端偏好使用TLSv1.2,但服务器选择使用TLSv1.0。这可能是由于JDK版本的更改导致的,因为较新的JDK版本默认不支持TLSv1和TLSv1.1协议。
解决方案有两种:
1.动态修改安全配置,在程序代码中将禁用TLSv1、TLSv1.1的配置去掉。可以使用以下代码实现:
```java
System.setProperty("https.protocols", "TLSv1.2");
```
2.升级SQL Server以支持TLSv1.2。可以参考以下步骤:
- 确认SQL Server版本是否支持TLSv1.2。
- 如果不支持,请升级SQL Server以支持TLSv1.2。
- 确认JDK版本是否支持TLSv1.2。
- 如果不支持,请升级JDK以支持TLSv1.2。
阅读全文