Java 8 指定默认协议为 TLSv1 导致 HTTP 客户端 SSL Connection Reset
💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
昨天尝试指定TLS协议版本,但由于Java8默认禁用TLSv1,没有生效,定时任务挂掉,原因是内部应用接口使用TLSv1请求,Web服务器拒绝了该协议版本。
🎯
关键要点
-
Java 8 默认禁用 TLSv1,导致 SQLServer 连接失败。
-
尝试通过 JVM 参数 -Djdk.tls.client.protocols=TLSv1 指定 TLS 协议版本,但未生效。
-
定时任务因请求内部应用接口失败而挂掉,报错为 SSL Connection Reset。
-
使用 TLSv1 请求时,Web 服务器拒绝该协议版本,因为主流 HTTPS 仅支持 TLSv1.2 以上。
➡️