Hi Apache2 professionals,
we identified the following problem when using "mod_proxy_ajp" in combination
with a balancer configuration (see detailed configuration below), that:
- multiple HTTP requests seem to use the SAME AJP "CHANNEL"
- when just ONE request is exceeding the configured "ProxySet timeout"
configuration (see detailed config below), the following error is displayed
within the central Apache2 error log (exact the time interval after the long
running request):
[Mon Nov 29 17:17:11 2010] [error] (70007)The timeout specified has expired:
ajp_ilink_receive() can't receive header
- when this log entry occurs, all connections running over the above AJP
channel are cut - including connections that do run much more shorter than the
timeout interval specified. Possibly, Apache2 assumes the Apache Tomcat
instance is not reachable anymore and switches from one to the other Tomcat
server.
- all clients running over this AJP-connection are lost and loose the
connection to the server
Here the long running request (duration is specified in microseconds):
10.35.32.123 - - [29/Nov/2010:17:12:11 +0100] "POST /xxx/Dispatcher HTTP/1.1"
500 538 "<request url>" "Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1; SV1;
.NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR
3.0.04506.648; .NET CLR 3.5.21022; .NET CLR3.0.4506.2152; .NET CLR 3.5.30729)"
"JSESSIONID=80AC6DFF149E802C3AA8735996CE7AA0.rb-wcmstc1;
"80AC6DFF149E802C3AA8735996CE7AA0.rb-wcmstc1" "-" 300456752
Here, the following configuration snippet - including the timeout interval:
<Proxy balancer://fs4server>
BalancerMember ajp://rb-wcmstc1.xx.xxxxx.xxx:8009 loadfactor=100 retry=10
route=rb-wcmstc1
BalancerMember ajp://rb-wcmstc2.xx.xxxxx.xxx:8009 loadfactor=100 retry=10
route=rb-wcmstc2
ProxySet stickysession=JSESSIONID|jsessionid
ProxySet lbmethod=byrequests
ProxySet scolonpathdelim=On
#ProxySet nofailover=On
ProxySet timeout=90
</Proxy>
When checking the documentation for "mod_proxy", below
http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypass we identifed,
there are TWO timeout settings available:
- timeout
- connectiontimeout
Our questions:
- how to prevent bundling HTTP-requests in JUST ONE AJP connection?
- how to set "timeout" and "connectiontimeout" intervals to prevent connection
losts?
- are there any other possibilites to prevent that behavior?
Any suggestions are very welcome!
Best regards,
Holger King
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [email protected]
" from the digest: [email protected]
For additional commands, e-mail: [email protected]