Estou usando o Tomcat 6.0.24 no Ubuntu (JDK 1.6) com um aplicativo que faz solicitações no estilo Comet em um conector HTTPS (diretamente no Tomcat, sem usar APR).
Gostaria de definir o keep-alive para 5 minutos, para não precisar atualizar minhas conexões de pesquisa longa. Aqui está a minha configuração:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="1000" keepAliveTimeout="330000"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
Infelizmente, parece que o servidor fecha a conexão após 65 segundos. O pcap de uma sessão de amostra é mais ou menos assim:
T=0 Client sends SYN to server, handshake etc.
T=65 Server sends FIN to client
T=307 Client sends FIN to server
(Suponho que o tempo limite de 5 minutos no cliente se deva à lib HTTP não detectar o fechamento do soquete no servidor, mas em qualquer caso - o servidor não deve fechar a conexão tão cedo)
(editar: isso funciona conforme o esperado ao usar o conector HTTP padrão)
fonte
O tempo limite do balanceador de carga, que fecha a conexão, agora está documentado :
fonte
O tempo limite para conexões inativas é mencionado na seção de solução de problemas de verificação de integridade: http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html
fonte
O intervalo do ELB Idle Timeout é atualizado e pode variar de 1 segundo (mínimo) a 4000 segundos (máximo), e o valor padrão para o tempo limite ocioso é de 60 segundos.
https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
fonte