套接字连接超时vpn

我有一台运行CentOS 6.4的大部分默认安装的服务器。 它在一个VPN和一个防火墙后面,两者都不是由我pipe理的 – 它们由托pipe公司pipe理。

当我离开ssh客户端很长一段时间没有触摸它(从我的桌面cygwin),最终它冻结(Ctrl + C甚至不工作),然后经过更长的时间后,恢复,但ssh连接断开Connection Reset by Peer错误。

通常,我不会在乎这个,但是:我一直在开发一个客户端GUI的服务器应用程序。 这两个应用程序之间确实有一个心跳。 今天,我在两个小时之内独自离开了他们,当我回来的时候,他们已经坠毁了。 服务器的错误消息说:

 java.io.IOException: Connection timed out java.io.IOException: Broken pipe 

客户的日志说:

 java.io.IOException: An established connection was aborted by the software in your host machine 

当我返回时,我单击客户端上的“重新连接”button,而不重新启动任何应用程序,并且它们再次正常工作,没有问题 – 所以它不像是其中一个应用程序用完资源或等效。

我认为这是一个比StackOverflow问题更多的ServerFault问题,因为我在我的SSH连接中看到了类似的行为。 什么可能导致这个networking超时,我能做些什么呢?

对于ssh只是调整ssh keepalive会话

为腻子(Windows)的会议上的属性点击连接和发送空数据包,以保持会话活动,你需要设置keepalives之间的秒钟,你想要的秒数

对于Linux您可以在/ etc / ssh / ssh_config下find它

主机* ServerAliveInterval 300 ServerAliveCountMax 2

可能是错误“java.io.IOException:build立的连接被主机中的软件中止”

这有很多可能的问题

首先要看的是vpn和防火墙一些vpn使用“vpn-idle-timeout”,当会话在指定的时间处于非活动状态时终止任何用户的会话,同时请注意,防火墙也可能与其他设备使用TCP Keep Alive数据包。

另一件事是在应用程序方面:

例如Oracle Web服务器的“HTTP级别保活系统”

这可以调整服务器在pipe理控制台中closures最早的连接之前允许一次等待的最大连接数

但请注意

“如果每个请求都被允许保持连接无限期打开,那么服务器可能会被连接超载,在UNIX和Linux系统上,这可能会导致文件表很容易溢出”

你可以查看这个文档以供参考

http://docs.oracle.com/cd/E19146-01/821-1834/gdpiq/index.html