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服务器拒绝该协议版本。

➡️

继续阅读