Reputation: 33
I'm developing a web app with Java backend in below mention configuration with Loadbalancer ( zen Loadbalancer) environment
APP1 = Centos 7, Apache 2.4.6, Tomcat 7.0.53, Mod_Ajp connector,
APP2 = Centos 7, Apache 2.4.6, Tomcat 7.0.53, Mod_Ajp connector,
I'm having the problem after a certain period of time period tomcat JVM not responding apache request got below error in apache error log "(70007)the timeout specified has expired: ah01030: ajp_ilink_receive() can't receive header"
In web browser got "An internal server error occurred. Please try again later"
I verified both the tomcat & Apache servers are running,refer the image
But not responding jvm thread, Which means Mod_ajp connector hanged I added following entry in server.xml files. again facing same issue.
" Define an AJP 1.3 Connector on port 8009 -->
**<Connector port="8009" protocol="AJP/1.3"
acceptorThreadCount="2" maxThreads="1400" acceptCount="200" minSpareThreads="50" emptySessionPath="true" enableLookups="false"
connectionTimeout="180000" redirectPort="8443" />"**
My AJP setup
ProxyPreserveHost On
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
RewriteRule ^/$ /index.html [L]
RewriteCond %{REQUEST_URI} !^/mydata
RewriteCond %{REQUEST_URI} !^/(shibboleth-(sp|idp)|Shibboleth.sso|SAML|server-status)
ReWriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*) ajp://localhost:8009$1 [P]
Upvotes: 2
Views: 17478
Reputation: 2634
Try setting "ProxyTimeout" in the httpd.conf in your apache configuration to the same value as the usual "Timeout".
Upvotes: 2