Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tomcat 7.java.net.SocketException:连接重置_Java_Sockets_Tomcat_Socketexception_Connection Reset - Fatal编程技术网

Tomcat 7.java.net.SocketException:连接重置

Tomcat 7.java.net.SocketException:连接重置,java,sockets,tomcat,socketexception,connection-reset,Java,Sockets,Tomcat,Socketexception,Connection Reset,我正在使用Tomcat 7,经常出现连接重置错误 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.rea

我正在使用Tomcat 7,经常出现连接重置错误

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”

从我所读到的内容来看,两者似乎都表明客户端可能在服务器读取连接时突然关闭了连接,从而导致重置和/或EOF

有没有其他任何人可以想到或遇到的原因。另外,如果两个异常都来自同一个问题,那么频率是如何变化的,我得到大约100个连接重置,比如说5个EOF


感谢

更多的调查和Wireshark转储显示,除了实际负载之外,还显示了另外两个方面,一个是执行常规心跳检查的负载平衡器,另一个是再次执行频繁ping的网络监视脚本


因此,这些似乎是ping和中断连接的原因。因此,当我们监视一个被动服务器时,它又在LB后面,也会被网络监视脚本ping,但没有生产负载。它也显示了我们在带负载的活动服务器上看到的相同异常。这证实了上述意见。因此,我们可以忽略这些,或者更改监视脚本以等待服务器的响应。

如果tomcat暴露在internet上,也可能是由于一些蠕虫/端口扫描程序攻击随机IP。您可以通过检查tomcat访问日志和源IP进行调查。监视工具(nagios和其他工具)有时使用糟糕的检查,即打开/关闭套接字来检查服务可用性,这可能会导致此类日志消息。
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)