2014-10-29 65 views
0

我使用Tomcat 7和我越来越频繁的连接复位错误,的Tomcat 7扔频繁java.net.SocketException异常:连接复位

org.apache.coyote.http11.Http11Processor - Error parsing HTTP request header 

java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:189) 
    at java.net.SocketInputStream.read(SocketInputStream.java:121) 
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:516) 
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:501) 
    at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:98) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:931) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 

,并在时间,虽然不是经常“意外的EOF读取插槽上” ,

org.apache.coyote.http11.Http11Processor - Error parsing HTTP request header 

java.io.EOFException: Unexpected EOF read on the socket 
    at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:99) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:931) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 

从我读通过,似乎都表明,客户端可能有可能突然关闭了连接,而服务器正在读取,从而进入复位和/或EOF。

是否有其他任何人可以想到或遇到的原因。同样,如果这两个例外源自同一个问题,频率如何变化,我会得到大约100个连接重置来说5个EOF。

感谢

+0

如果tomcat暴露于互联网,它可能也是由于一些蠕虫/端口扫描器攻击随机IP。您可以通过检查tomcat访问日志和原始IP进行调查。监控工具(nagios和其他)有时使用很差的检查,只是打开/关闭一个套接字来检查服务可用性,它会导致这种日志消息。 – nomoa 2014-10-29 10:44:53

回答

1

更多的调查和Wireshark转储显示,比实际负载以外,其他两件事情,显示出来,一个是负载平衡器这确实定期心跳检查,另一个是网络监控脚本,再做频繁ping。

因此,这些似乎是ping和打破关系的人。所以当我们监控一个被动服务器时,它又位于LB之后,并且也被网络监控脚本占用,但是没有生产负载。它也显示了我们在加载的活动服务器上看到的异常。这证实了上述观察。所以我们可以忽略这些或者改变监视脚本等待来自服务器的响应。

相关问题