Squid 7 half_closed_clients: Umgang mit dem Schließen der Schreibseite eines Clients
Ein frühes EOF eines rohen TCP-Testclients mit der half_closed_clients-Richtlinie von Squid 7 deuten.
Ein TCP-Client kann das Senden einer Anfrage beenden und seine Schreibseite schließen, während er weiter auf die Antwort wartet. Squids Richtlinie für diesen Zustand ist wichtig, wenn ein kleiner roher TCP-Test mit einem HTTP-Client verglichen wird.
Für Squid 7 ist der dokumentierte Standard:
half_closed_clients off
Mit dieser Richtlinie schließt Squid eine Clientverbindung, wenn ein Lesevorgang meldet, dass keine weiteren eingehenden Daten mehr vorliegen. Ist die Option aktiviert, kann die Verbindung bestehen bleiben, bis Lesen oder Schreiben auf einen Fehler trifft. Die Dokumentation empfiehlt die Standardrichtlinie off für den normalen Forward-Proxy-Betrieb.
Halten Sie fest, wann der Testclient das Ende der Eingabe signalisiert. Eine Pipeline, die stdin EOF erreicht, kann sich anders verhalten als ein Client, der seine Sendeseite offen hält, während er die Antwort liest, selbst wenn beide dieselben HTTP-Anfragebytes gesendet haben.
Beendet sich der Testclient vollständig, kann er eine danach eintreffende Antwort nicht mehr lesen. Eine Halbschließungs-Einstellung auf Serverseite kann die Lebensdauer dieses Clientprozesses nicht ändern.
Wählen Sie das EOF-Verhalten des Clients und die Proxy-Richtlinie gemeinsam für den beabsichtigten Test. Die Halbschließungs-Richtlinie setzt außerdem eine HTTP-Nachricht mit gültigem Framing voraus; sie liefert keinen fehlenden Anfragetext und repariert keinen unvollständigen Headerblock.