우분투 (JDK 1.6)에서 Tomcat 6.0.24를 HTTPS 커넥터에서 Comet 스타일 요청을 수행하는 앱과 함께 사용하고 있습니다 (APR을 사용하지 않고 Tomcat에 직접).
장거리 연결을 새로 고칠 필요가 없도록 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 lib가 서버 끝에서 소켓 닫기를 감지하지 못하기 때문에 발생하지만 어쨌든 서버는 초기에 연결을 종료해서는 안됩니다)
(편집 : 표준 HTTP 커넥터를 사용할 때 예상대로 작동합니다)
답변
Amazon의 ELB (Elastic Load Balancer)에는 문서화되지 않은 ( 포럼 제외 ) 60 초 시간 초과가있어 데이터가 전송되지 않으면 연결이 끊어집니다. 55 초마다 공백을 전송하여 해킹하면 구성 할 수있을 때까지 작동하는 것처럼 보입니다.
답변
연결을 닫는로드 밸런서 시간 초과가 문서화되었습니다 .
로드 밸런서의 유휴 시간 초과 설정을 구성하려면
- https://console.aws.amazon.com/ec2/ 에서 Amazon EC2 콘솔을 엽니 다 .
- 탐색 창에서 아래의 로드 밸런싱 을 클릭 로드 밸런서를 .
- 로드 밸런서를 선택하십시오.
- 하단 창에서 설명 탭을 선택 하십시오.
- 연결 설정을 찾은 다음 (편집) 을 클릭 합니다.
- 에서 구성 연결 설정 대화 상자에 값을 입력 유휴 시간 초과 . 유휴 시간 초과의 범위는 1-3,600 초입니다.
- 저장을 클릭 하십시오 .
답변
비활성 연결 시간 초과는 상태 확인 문제 해결 섹션에 나와 있습니다.
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