Amazon ELB에서 활성 시간 초과를 유지하지 마십시오.


9

우분투 (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 커넥터를 사용할 때 예상대로 작동합니다)

답변:


13

Amazon의 ELB (Elastic Load Balancer)에는 문서화되지 않은 ( 포럼 제외 ) 60 초 시간 초과가있어 데이터가 전송되지 않으면 연결이 끊어집니다. 55 초마다 공백을 전송하여 해킹하면 구성 할 수있을 때까지 작동하는 것처럼 보입니다.


(타임 아웃은 여전히 ​​존재합니다. BTW .. jeesh)
sehugg

여전히 구성 할 수 없습니다 ... 이것은 2009 년 이후로 계류중인 문제입니다 ...
Dennis Münkle


10

연결을 닫는로드 밸런서 시간 초과가 문서화되었습니다 .

로드 밸런서의 유휴 시간 초과 설정을 구성하려면

  1. https://console.aws.amazon.com/ec2/ 에서 Amazon EC2 콘솔을 엽니 다 .
  2. 탐색 창에서 아래의 로드 밸런싱 을 클릭 로드 밸런서를 .
  3. 로드 밸런서를 선택하십시오.
  4. 하단 창에서 설명 탭을 선택 하십시오.
  5. 연결 설정을 찾은 다음 (편집) 을 클릭 합니다.
  6. 에서 구성 연결 설정 대화 상자에 값을 입력 유휴 시간 초과 . 유휴 시간 초과의 범위는 1-3,600 초입니다.
  7. 저장을 클릭 하십시오 .

이것은 이제 받아 들여질 것입니다.
jonatan


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.