Summary: | End of file found: proxy: error reading status line from remote server localhost | ||
---|---|---|---|
Product: | Apache httpd-2 | Reporter: | silicium |
Component: | mod_proxy | Assignee: | Apache HTTPD Bugs Mailing List <bugs> |
Status: | RESOLVED INVALID | ||
Severity: | major | CC: | mustafa.topaloglu, silicium |
Priority: | P2 | ||
Version: | 2.2.9 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Linux |
Description
silicium
2009-12-01 01:52:08 UTC
The remote (in this case Tomcat) has closed the connection before sending a response. There is nothing httpd can do about that. (In reply to comment #1) > The remote (in this case Tomcat) has closed the connection before sending a > response. There is nothing httpd can do about that. but that should be written in the tomcat log the tomcat doesnt show any connection errors. I Allso captured with TCPDump, Tomcat sends the right answer (In reply to comment #2) > (In reply to comment #1) > > The remote (in this case Tomcat) has closed the connection before sending a > > response. There is nothing httpd can do about that. > > but that should be written in the tomcat log > > the tomcat doesnt show any connection errors. > > I Allso captured with TCPDump, Tomcat sends the right answer I will doe this again and provide more informations Hi all, I have the same problem with an another application server (Glassfish). Because it happens on a critical application I cannot wait long time for a patch. Are there workarounds in order to avoid that error ? Regards Mustafa hi there short update: it seems to be a Tomcat problem/bug. the EOF occource because of an TCP/RST. so, apache thinks about an not accessable proxy target. There are maybe two ways to "fix" Best way is to find out why Tomcat close the connection (it does for just one SYN! so there is not really a network issue) so, the failure comes around 2 times per Day, this is realliy difficult to diagnost. Also the Debug Logs would not say anything about that. I Will look forward to fix it like a dirty way. maybe it is possible to define a max_retry value for mod_proxy to retry the connection if a SYN/RST. Marco First, thanks for writing this! It's solved a number of problems for me. I've run into a problem with one application. The application allows the user to upload a file via a form, does some parsing/processing of the data, then redirects back to the index page. Processing the data can take a few seconds and I've been randomly getting an apache proxy error during this operation. The apache logs showed: (70014)End of file found: proxy: error reading status line from remote server localhost, referer: ... It appears that the following line from receive_data # If data's still coming in but no HTTP header has been found within 5 seconds, close the connection raise if (@request.start_time < (Time.now.to_i - 5)) is causing the connection to the back end to close before it's actually finished. Increasing this to 15 seconds seems to have fixed my problem. orgin link : http://groups.google.com/group/switchpipe/browse_thread/thread/26328ed9af4da6a9 We had a similar issue occurring with Apache 2.2.16 proxying to Apache 2.2.11 "This error occurs if the bytes recieved are less than 8192." See bug #48656 Adding output buffering to the source server resolved the issue for us. (In reply to comment #7) > We had a similar issue occurring with Apache 2.2.16 proxying to Apache 2.2.11 > > "This error occurs if the bytes received are less than 8192." > See bug #48656 > > Adding output buffering to the source server resolved the issue for us. This seemed to make the issue much better, however we are still having some trouble so have changed set up to avoid proxy. Of interest: - Upgraded both servers so running 2.2.16 - Timeout 30, KeepAlive On, MaxKeepAliveRequests 100, KeepAliveTimeout 2 Hello, Gentlemen, I've faced the same issue and, in my case, the problem seems to occur when the reverse proxy (RP) sends a request to the back-end server (using a previously establiseh connection) and, in the mean time (exactly), the back-end server closes the connection due to connection timeout (in my case, it is a Tomcat server with the default 20 seconds ConnectionTimeout). To fix this, I've added "smax=0 ttl=7" (or any value less than the back-end connection timeout) to the ProxyPass directive. I hope it helps. Regards, Olivier I'm still seeing this issue with version: 2.2.3-43 Hitting the backend server directly always works fine. On a production system, I'm seeing one of these errors every 2-3 seconds. None of the SetEnv hacks appear to have any affect nor the setting used by Olivier. nevermind, just realized I'm running a 5 year version. doh!! Marking "nevermind" |