2012-03-28 108 views
0

我通过HTTP基本身份验证连接到具有颁发证书和身份验证的REST服务。连接过程正常工作,我提交请求(最多每秒几个),它工作正常。然而,每一万个请求左右,我得到一个javax.net.ssl.SSLHandshakeException与消息Received fatal alert: handshake_failure。正常/成功请求的响应时间为< 100毫秒,但这些例外之前的延迟时间最长为30秒。Java偶尔发生SSLHandshakeException

我对这个东西知之甚少,但我想假设异常是由于网络问题/拥塞或问题在接收端,而不是我的认证/身份验证问题的〜99.999%我的请求是否成功?这个假设是否合理?或者有人能够揭示可能导致这种情况的原因吗?谢谢。

回答

0

您确定您的网络在生成树协议重新计算时没有问题吗?从高层次的描述来看,STP问题可以创建相同的“网络出去,但等待它再次回来”的周期性故障。

如果是STP问题,关闭STP是错误的解决方案。您需要确定什么是错误处理STP流量,并重新配置该设备以“打开”STP或将其替换(如果实际上错误处理STP)。

如果这种刺在黑暗中并没有给你带来任何好处,那么就需要对网络进行真正的分析。阅读路由器/交换机日志(假设您有可用的设备),并可能构建带有两个NIC卡的Wireshark诊断计算机,以便您可以在特定的有线链路上“附加”监听设备。 Wireshark也适用于无线网络,由于这是一个网络问题,您可能会在不同于预期的网络上找到答案。

当我的一个交换机(和旧的Linksys)没有正确处理STP时,我用两台设备建立了一个即兴无线网桥(创建一个路由环),我有一段时间。如果没有Wireshark的帮助,我会花费更多的时间来解决这个问题(并且大量阅读了我所看到的协议,以确定它们是否“正常工作”)。

+0

谢谢。我想我可能需要深入研究Wireshark日志,并阅读STP和其他目前我很不了解的主题。我也将与我正在连接的一方进行核对,并希望得到他们看到的有关这些请求的内容。我在这里提出这个问题的原因是为了确保在我身边这个错误并不明显,而且我会看起来很愚蠢以向对方提出请求。 – hgus1294 2012-03-28 17:55:59

+0

那么,从你可以得到的日志开始。看看另一台机器是否收到你的请求。如果你不能得到这些日志,那么你需要与可以的人交谈。你和这个问题之间的人越多,有人不在乎或过度劳累的机会就越高。我希望你能快速找到你的解决方案。 – 2012-03-28 19:04:40

+0

我收到对方的通知,他们偶尔遇到'SSL终止'问题。我不知道这意味着什么,但我很高兴这个问题超出了我的界限。我接受你的答案来解决这个问题。谢谢。 – hgus1294 2012-03-30 11:46:32