lighttpd mod_proxy verzögert nachfolgende Anfragen um bis zu 5 Sekunden

539
MindJuice

Ich habe lighttpd 1.4.48 so konfiguriert, dass meine /apiauf Port 80 empfangenen Endpunkte an einen lokalen API-Server weitergeleitet werden, der auf Port 8080 ausgeführt wird (siehe unten):

# Forward all /api requests to the apiserver $HTTP["url"] =~ "^/api" { proxy.server = ( "/api" => ( ( "host" => "127.0.0.1", "port" => "8080"  ) ) ) } 

Es gibt eine Webanwendung, die /api/status/dashboardalle 5 Sekunden denselben API-Endpunkt ( ) abfragt. Das Problem, das ich sehe, ist, dass das erste Mal etwa 600 ms dauert, um zum Browser zurückzukehren. Das zweite Mal 1,5s. Dann 2,7s, dann 3,5s, dann 4,7s, dann 6,1s, dann wieder etwa 600ms. Dieser Zyklus wiederholt sich immer und immer wieder. Im Wesentlichen dauert jede Anfrage ~ 1,1 Sekunden, bis sie 5 Sekunden überschreitet und dann zurückgesetzt wird.

Bei der Protokollierung auf meinem API-Server kann ich sehen, dass die Anforderung nicht sofort empfangen wird. Aus irgendeinem Grund wird es nicht sofort von lighttpd weitergeleitet.

Wenn ich die Anfrage von Postman direkt an Port 8080 sende, gibt es keine Verzögerung, aber das Senden über Port 80 hat die oben beschriebene Verzögerung.

Ich habe einige Informationen zu lighttpd-Proxy-Verzögerungen gefunden, die die Verwendung der folgenden Konfiguration vorschlugen:

server.stream-request-body = 1 server.stream-response-body = 1 

Wenn die obigen Werte auf 0 gesetzt sind (oder diese Zeilen nicht enthalten), wird jede Anforderung konstant um 5 Sekunden verzögert. Wenn sie auf 1 oder 2 eingestellt sind, bekomme ich die gleichen Verzögerungs- / Zyklusverzögerungen wie oben beschrieben.

Scheint das wie eine Fehlkonfiguration meinerseits oder möglicherweise ein Fehler?

Hat jemand anderes ein Proxy / Forwarding-Setup, das ordnungsgemäß funktioniert und seine Konfiguration freigeben könnte?

Jede Hilfe wäre sehr dankbar!

Vielen Dank!

ps Auch auf der lighttpd-Site gefragt:

https://redmine.lighttpd.net/issues/2907?issue_count=17&issue_position=1&next_issue_id=2905

0

0 Antworten auf die Frage