Apache (ec2) --- Client (ELB)
| |
|-------[1.]FIN------->|
| |
|<-----[2.]FIN+ACK-----|
| |
|---------ACK--------->|
| |
I은 패킷을 추출하기 위해 서버 (80)에 의해 방출되는도 상술 한 "[1] FIN을"원하는 포트와 FIN 시퀀스를 "시작"합니다.와이어 샤크 필터 와이어 샤크와
내가 필터를 시도했다 :
& tcp.flags.fin & tcp.srcport의 == 80
하지만 필터는 또한 추출 추가 "[2] FIN + ACK "패킷을 수신한다. "FIN"시퀀스 개시자를 고려하여 [1.] 패킷 만 필터링하는 방법은 무엇입니까?
배경 : 나는 AWS ELB와 EC2 (아파치)와 504 오류를 제거하기 위해 사투를 벌인거야
"FIN - FIN/ACK - ACK"순서가 백엔드 아파치 측에 의해 시작된다. ELB에 의해 시작 등 환경 FIN 순서에서 AWS 공식 SAIS로 이상적입니다 : http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
https://aws.amazon.com/jp/premiumsupport/knowledge-center/504-error-classic/에 따르면, 나는 MPM (이벤트 -> 근로자) 교체 변화 시도했습니다 약간 504 오류를 감소하지 않도록 TCP_DEFER_ACCEPT을. 그러나 상황은 많이 개선되지 않습니다.
내가 생각하는 요지는 아파치가 액티브 - 클로즈 시퀀스를 시작하게하는 원인을 찾는 것일 것이다. 그래서 나는 ELB와 EC2 (아파치) 사이에서 최대 512 개의 병렬 연결 중에서 아파치에서 시작하는 FIN 패킷을 추출하려고한다. == tcp.flags.fin
원인은 보존 된 HTTP 연결의 서버 측 만료 원인입니다. – EJP
Apache의 KeepaliveTimeout은 120으로 설정되어 있지만 ELB 유휴 시간 초과는 60으로 설정되어 있으므로 그렇지 않습니다. –