Java 在握手过程中收到关闭通知SSL错误?

Java 在握手过程中收到关闭通知SSL错误?,java,security,ssl,java-8,tls1.2,Java,Security,Ssl,Java 8,Tls1.2,我们在制作过程中遇到了这个奇怪的错误,在大容量(每小时约10000次)的情况下,我们10%的调用被拒绝,下面提到了SSL异常。自Java8小版本更新(JDK-8028518)以来,这种情况一直在发生 由于这只在一定比例的呼叫中失败,我们无法理解为什么会发生这种情况 我们使用下面的行在客户端代码中设置ssl上下文 SSLContext ctx = SSLContext.getInstance(TLS); javax.net.ssl.SSLProtocolException:在握手过程中收到关闭通

我们在制作过程中遇到了这个奇怪的错误,在大容量(每小时约10000次)的情况下,我们10%的调用被拒绝,下面提到了SSL异常。自Java8小版本更新(JDK-8028518)以来,这种情况一直在发生

由于这只在一定比例的呼叫中失败,我们无法理解为什么会发生这种情况

我们使用下面的行在客户端代码中设置ssl上下文

SSLContext ctx = SSLContext.getInstance(TLS);

javax.net.ssl.SSLProtocolException:在握手过程中收到关闭通知

你能检查你的服务器线程数配置吗

一种可能是高负载、更多(相对)高延迟请求导致此问题

在轻负载情况下,服务器上可能有足够的线程来处理所有流量(因为高延迟请求也相对较少)

一个可能的选择是

  • 增加负载平衡器下的实际应用程序服务器
  • 根据系统吞吐量减少每个应用程序上配置的线程数

  • 在我们的例子中,发生这种情况是因为握手时间太长。 这是因为在客户端,在打电话之前,我们从安全存储读取数据的时间太长,导致握手在一半时间内失败。这是通过引入安全存储相关对象的缓存来防止的,以避免一次又一次地实例化它们

    SSLContext ctx = SSLContext.getInstance(TLS);