J'utilise Tomcat 6.0.24 sur Ubuntu (JDK 1.6) avec une application qui effectue des requêtes de style comète sur un connecteur HTTPS (directement contre Tomcat, sans utiliser APR).
Je voudrais définir la durée de conservation à 5 minutes pour ne pas avoir à rafraîchir mes connexions à longue interrogation. Voici ma config:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="1000" keepAliveTimeout="330000"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
Malheureusement, il semble que le serveur ferme la connexion après 65 secondes. Le pcap d'une session d'exemple ressemble à ceci:
T=0 Client sends SYN to server, handshake etc.
T=65 Server sends FIN to client
T=307 Client sends FIN to server
(Je suppose que le délai d'expiration de 5 minutes sur le client est dû au fait que la bibliothèque HTTP ne détecte pas la fermeture du socket du côté serveur, mais dans tous les cas - le serveur ne devrait pas fermer la connexion aussi tôt)
(modifier: cela fonctionne comme prévu lors de l'utilisation du connecteur HTTP standard)
Le délai d'expiration de l'équilibreur de charge, qui ferme la connexion, est désormais documenté :
la source
Le délai d'expiration pour les connexions inactives est mentionné dans la section de dépannage du bilan de santé: http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html
la source
La plage de délai d'inactivité ELB est mise à jour et peut aller de 1 seconde (minimum) à 4000 secondes (maximum), et la valeur par défaut du délai d'inactivité est de 60 secondes.
https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
la source