Apache (ec2) --- Client (ELB)
| |
|-------[1.]FIN------->|
| |
|<-----[2.]FIN+ACK-----|
| |
|---------ACK--------->|
| |
Mit Wireshark würde Ich mag nur das Paket „[1] FIN“ oben beschrieben Abbildung extrahieren, die durch 80-Server des ausgesendet wird Port und die FIN-Sequenz "initiiert".Wireshark Filter für Pakete, die von dem serverseitigen FIN (Verbindung schließen) Sequenz initiiert
Ich habe einen Filter versucht:
tcp.flags.fin & & tcp.srcport == 80
aber der Filter auch die extra „extrahiert [2.] FIN + ACK "Pakete. Wie kann ich nur [1.] Paket unter Berücksichtigung von "FIN" Sequenzinitiator herausfiltern?
Hintergrund:
Ich kämpfe mit AWS ELB und EC2 (Apache) von 504 Fehlern zu befreien, wobei "FIN - FIN/ACK - ACK" Sequenz durch die Back-End-Apache-Seite initiiert wird. In einer solchen Umgebung FIN Sequenz von ELB initiiert ist ideal als AWS offiziellen sais: http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html
Nach https://aws.amazon.com/jp/premiumsupport/knowledge-center/504-error-classic/, habe ich versucht, MPM Wechsel ersetzen (event -> Arbeiter) und Deaktivieren TCP_DEFER_ACCEPT, die 504 Fehler leicht reduziert. Die Situation ist jedoch nicht sehr verbessert. Der Punkt, den ich denke, wird darin bestehen, die Ursache zu finden, die apache die aktiv-schließende Sequenz einleitet. Daher versuche ich zunächst, das initiierende FIN-Paket aus dem Apache zwischen maximal 512 parallelen Verbindungen zwischen ELB und EC2 (Apache) zu extrahieren.
Die Ursache ist der serverseitige Ablauf einer HTTP-Verbindung, die beibehalten wird. – EJP
Apache KeepaliveTimeout ist auf 120 gesetzt, während ELB Idle Timeout auf 60 gesetzt ist, was nicht der Fall ist. –