You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何忽略「请升级至TLSv1.2」警告?Spring Boot连接SQL Server问题

解决方案

1. 通过JDBC连接属性关闭TLS版本检测警告

mssql-jdbc 10.2及以上版本新增了disableTlsVersionDetection属性,专门用来关闭TLS版本检测的警告逻辑。你只需要把这个属性添加到JDBC连接URL中即可:

spring.datasource.url=jdbc:sqlserver://myhostname;databaseName=mydb;encrypt=false;disableTlsVersionDetection=true;

这个配置会直接禁用驱动对TLS版本的检测,从而不再输出你遇到的那条警告,完全满足你不想降级驱动的需求。

2. 明确指定TLS协议版本(可选补充)

如果上面的配置仍未解决问题,可以尝试在URL中额外添加sslProtocol=TLSv1,明确告诉驱动使用TLSv1协议,避免驱动在协商过程中产生额外的检测日志:

spring.datasource.url=jdbc:sqlserver://myhostname;databaseName=mydb;encrypt=false;disableTlsVersionDetection=true;sslProtocol=TLSv1;

3. 调整Hibernate日志级别(治标方案)

如果前两种方法都不生效,你可以通过降低SqlExceptionHelper的日志级别来隐藏警告。比如在你的日志配置文件(如logback.xml)中添加:

<logger name="org.hibernate.engine.jdbc.spi.SqlExceptionHelper" level="ERROR" />

这样该类的WARN级别日志就不会再被输出,但这只是隐藏警告,并没有从根源上关闭检测逻辑,优先推荐前两种方法。

为什么旧版本驱动没有警告?

mssql-jdbc 8.x版本还未引入TLS版本检测的逻辑,所以不会触发这个警告;而11.x版本新增了该检测机制,即使设置encrypt=false,驱动仍会在连接过程中进行TLS版本的检查并输出警告。


内容的提问来源于stack exchange,提问作者Mahmoud Saleh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:45:46