On 28/02/2013 12:03 AM, "Jose María Zaragoza" <demablogia@xxxxxxxxx> wrote:
>
> Hello:
>
> I'm using a HTTP server Apache/2.2.15 (Unix), as frontend and Tomcat
> 6.0.23 as backend server.
> Both of them running on the same machine ( Linux CentOS 6.3)
>
> Apache HTTP listens on 8080 and Tomcat server listens on 8081
>
> Apache HTTP server configuration is setted up like
>
> <VirtualHost *:8080>
> ServerAdmin admin@xxxxxxxxxx
> DocumentRoot /var/www/html
> ServerName www.company.es
> ServerAlias company.es
> ProxyPass / http://localhost:8081/
> ProxyPassReverse / http://localhost:8081/
> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
> \"%{User-Agent}i\"" combined
> LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b
> \"%{Referer}i\" \"%{User-Agent}i\" proxy:%h" proxy
> SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" client-ip-request
>
> CustomLog /var/log/httpd/company-access_log combined env=!client-ip-request
> CustomLog /var/log/httpd/company-access_log proxy env=client-ip-request
> ErrorLog /var/log/httpd/company-error_log
>
> </VirtualHost>
>
> And Tomcat's server.xml configuration file has defined
> <!-- Define an AJP 1.3 Connector on port 8009 -->
> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
>
>
> From time to time, I get this error message in Apache HTTP log files
>
> [Thu Feb 14 11:11:26 2013] [error] (70007)The timeout specified has
> expired: proxy: prefetch request body failed to [::1]:8081 (localhost)
> from xx.xx.xx.xx ()
>
> In the Apache HTTP server's access log , I see that
> xx.xx.xx.xx - - [14/Feb/2013:11:10:26 +0100] "POST
> /mycompany/doMyAction.dwr HTTP/1.1" 400 307
>
> (Note: Failed URL is not always the same and former failed URLs don't
> always fail )
>
> **Look at the time and response error code**: there is an 400 HTTP
> response error code ( Bad request ) after 60 seconds ( when "The
> timeout specified has expired: proxy: prefetch request body failed"
> error is thrown )
>
> When this error happens , Tomcat's access logs don't show any access
> message, so I guess that the request doesn't arrive to Tomcat server (
> remember , at the same machine)
>
>
> I don't know how I could to debug more . I would like to use tcpdump
> but the error occurs randomly and I don't know what parameters to use
> with tcpdump .
>
> Is it a reported bug ? Is there any W/A ?
> What could I monitorize/watch ?
>
>
> Thanks and regards
You are probably running out of worker threads in tomcat. Tune your tomcat properly so it can handle all the connections coming from apache.