我在所有18台服务器上配置了SSL(HTTPS)。所有18台服务器都使用SSL进行通信。一切都很好。突然间我收到了这个错误:
“握手期间收到close_notify”
LOG :: @ 2011-06-03 03:36:17.372 [Log.class] ![LoadBalancer] [com.somename.servlet] [RequestServlet] [callServlet] ==> [spnlapp01390.europe.intranet:8443 / TCServer / TCHealthCheck] - >原因: 在握手期间收到close_notify#3996073076
奇怪的是应用程序重启后,它的工作正常。我不知道这个原因。在哪种情况下会发生这种情况?这是因为网络问题吗?
答案 0 :(得分:5)
close_notify是SSL堆栈发送的消息,表示连接已终止。如果没有更多的数据可供查看,例如网络跟踪,那么很难(如果可能的话)有一个明确的理由说明为什么会这样。
答案 1 :(得分:2)
我们的服务器发现了同样的问题,我们的服务器忙于处理每秒100个连接的条件。它可以在重新启动服务器时正常工作,但是长寿情况会再次发出重复。您可能会经常看到节点(服务器和客户端)位于网络中太远而无法到达的位置。
我们进行了硬件升级和服务器配置调整,例如增加打开文件(linux)值,允许使用最大可能的端口,增加Web服务器中允许的最大线程和连接。设置正确的SO和连接超时,然后管理客户端资源(连接)重用和正确的客户端关闭带来了良好的控制。通过HTTP / HTTPS通信减少服务器上的其他ping,例如心跳,用户访问前端应用程序和其他一些缓存更新客户端,使场景更好。
如果性能较差的机器和Windows 7环境机器仍然存在同样的问题。