Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com

How to fix half-closed TCP connections?

Apache closes idle AJP/1.3 connections to Tomcat server. However, for some reasons, these connection close requests do not result in closing and clearing of corresponding connections at the Tomcat server end. As a result, over a period of time, there will be too many open connections at the Tomcat server end resulting in queuing/rejection of new connection requests from the Apache server. This issue is mostly caused by incorrect firewall rules.

The manifestation of this issue is OpenSpecimen UI/API becoming unresponsive. However, please note, the UI and API will be still accessible by connecting directly to the Tomcat server. Its only the AJP connector that becomes unresponsive.

To resolve this issue, please follow below steps:

1. Edit $TOMCAT_HOME/conf/server.xml and search for below line:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

2. Add ConnectionTimout attribute as shown below. This will ensure the AJP connections at Tomcat end are closed after 5 minutes of continuous idleness.

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" connectionTimeout="300000"/>

3. Save the server configuration file.

4. Restart Tomcat server.

Got feedback or spotted a mistake?

Leave a comment at the end of this page or email contact@krishagni.com