Я использую Tomcat 6.0.24 в Ubuntu (JDK 1.6) с приложением, которое выполняет запросы в стиле Comet на соединителе HTTPS (напрямую с Tomcat, не используя APR).
Я хотел бы установить для keep-alive 5 минут, чтобы мне не приходилось обновлять соединения с длительным опросом. Вот мой конфиг:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="1000" keepAliveTimeout="330000"
scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
К сожалению, кажется, что сервер закрывает соединение через 65 секунд. PCAP из примера сессии выглядит примерно так:
T=0 Client sends SYN to server, handshake etc.
T=65 Server sends FIN to client
T=307 Client sends FIN to server
(Я предполагаю, что 5-минутный тайм-аут на клиенте связан с тем, что библиотека HTTP не обнаруживает закрытие сокета на стороне сервера, но в любом случае - сервер не должен закрывать соединение так рано)
(редактировать: это работает, как и ожидалось, при использовании стандартного коннектора HTTP)
Тайм-аут балансировщика нагрузки, который закрывает соединение, теперь задокументирован :
источник
Время ожидания для неактивных соединений указано в разделе устранения неполадок проверки работоспособности: http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-healthcheck.html
источник
Диапазон времени ожидания простоя ELB обновляется и может составлять от 1 секунды (минимум) до 4000 секунд (максимум), а значение по умолчанию для времени ожидания простоя составляет 60 секунд.
https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
источник