Feature request: Make connection and keep-alive timeouts configurable
When a Nuxeo server is behind a load balancer which can reuse backend TCP connections, we should ensure that the load balancer is responsible for closing TCP connections by defining its idle timeout to be lower than Nuxeo's keep-alive timeout .
However, as of today, Nuxeo's embedded Tomcat keep-alive timeout is implicitly set to 20 seconds and cannot be easily configured as:
connectionTimeoutis hard-coded to 20 seconds ;
- And as
keepAliveTimeout, the HTTP Connector attribute which defines this keep-alive timeout, uses the value set for
connectionTimeoutas its default value .
This 20 seconds value can be problematic in cases where the load balancer idle timeout is higher and cannot be configured (for example, the default idle timeout on AWS Application Load Balancers is 60s ).
In these cases, it would be useful to be able to configure this keep-alive timeout.
This can already be done today by manually altering the contents of the
server.xml.nxftl template file but this would be better if the
keepAliveTimeout value could be parameterized. The
connectionTimeout value could also be parameterized on the same occasion.
For example, this commit that adds
nuxeo.server.http.keepAliveTimeout configuration parameters, which can be defined in
Is this feature request acceptable?
If this is the case I can open a Pull Request on GitHub with the aforementioned commit.