Mein Server Setup ist Nginx direkt verbindet sich mit einem node.js Server (nginx und node.js sind im selben Knoten und Nginx ist Weiterleitungsanforderung an Knoten: 127.0.0.1:8000). Das Symptom ist manchmal, dass es 504 Logs in nginx log gibt. Und das Protokoll node.js zeigt keinerlei Anzeichen dafür, jemals die Anfrage erhalten zu haben. Ich aktiviert dann tcp-Protokoll mit iptables, die alle tcp-Pakete auf Port 8000 protokolliert. Nach Überprüfung der TCP-Protokoll, es scheint, dass nginx versuchte, eine TCP-Verbindung mit node.js Server zu etablieren, aber es gelingt nie. Es hat einfach immer wieder versucht, SYN-Pakete zu senden und hat dann von nginx eine Zeitüberschreitung erhalten. Hier ist ein Beispiel (tcp + nginx log):nginx tcp SYN Paket nicht empfangen ACK
13:44:44 sp:48103 dp:8000 SYN
13:44:45 sp:48103 dp:8000 SYN
13:44:47 sp:48103 dp:8000 SYN
13:44:51 sp:48103 dp:8000 SYN
13:44:59 sp:48103 dp:8000 SYN
13:45:15 sp:48103 dp:8000 SYN
13:45:44 nginx 504
Während der Zeit, ist die CPU-Last ziemlich leicht, Speicher < 50%, eingehende Anforderung weniger als 50 pro Minute. Und andere Anfragen wurden normal verarbeitet.
Server ist Ubuntu 14.04.2 LTS
Jede Idee, was los ist? Scheint wie ein OS-Level-Problem? Vielen Dank im Voraus.
Es hört 8000. Und es ist Verarbeitungsanforderungen. Nur manchmal konnte eine Anfrage ein solches Problem auftreten. –