Java 8 指定默认协议为 TLSv1 导致 HTTP 客户端 SSL Connection Reset
💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
昨天尝试通过JVM参数-Djdk.tls.client.protocols=TLSv1指定TLS协议版本来解决Java 8移除TLSv1导致SQLServer连接失败的问题,但没有生效,最终发现是JVM参数导致的。
🎯
关键要点
-
尝试通过JVM参数-Djdk.tls.client.protocols=TLSv1解决Java 8移除TLSv1导致SQLServer连接失败的问题。
-
TLSv1在Java 8中被默认禁用,因此该JVM参数配置没有生效。
-
定时任务中请求内部应用接口时出现SSL Connection Reset错误。
-
最初以为是对方服务故障,但使用工具请求发现服务正常。
-
由于主流HTTPS的TLS协议仅支持TLSv1.2及以上,使用TLSv1请求导致Web服务器拒绝该协议版本。
➡️