我们的一个客户使用 Netscaler 作为 Fuse 服务器和我们的 Tomcat 托管软件之间的平衡器中间件。 目前我们的软件和 netscaler 之间遇到奇怪的通信行为(我们正在使用 Spring-WS 发出 SOAP 请求):一段时间后,由于正在向 netscaler 发出请求并等待响应,netscaler 发送 ACK,RST 数据包到我们的服务器,因此,Java 抛出“连接重置”IOException。 tcp转储如下:
根据 netscaler 文档,重置数据包的 Win
字段包含错误代码,在这种情况下为 9300
,意思是“清理空闲连接”,这又意味着该 netscaler 运行“僵尸”进程,该进程清除空闲连接,并且该进程已将我们的连接识别为空闲。
在这种情况下,为什么连接会被 netscaler 视为 idle
?
最佳答案
服务器和重置数据包之间的时间差是多少?您可以在 netscaler vserver 上为闲置的客户端调整闲置超时值,并在需要很长时间响应的服务器的服务上调整闲置超时值。
关于java - Netscaler : sudden ACK, RST数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34000012/