One of our customers is having trouble with their client-server system with a Squid proxy (ver 2.5 that comes with RHEL AS 3) sitting in the middle.
They have a Web server, a Squid proxy, and some clients. This system works fine most of the times, but occasionally Squid returns clients an error 503 when a client sends a request to Squid at around the same time the Web server closes the connection due to HTTP 1.1 KeepAlive timeout. Client Squid Server | | | 1 |---req--->| X 2 | |<---close---| 3 | |-req->X | 4 |<---503---| | | | | V time 1 Client sends a request to Squid. / Keepalive timeout occurs at Server. 2 Server initiates closure of the session (sends out FIN) before Squid gets to relay the request. 3 Squid cannot get any reply from Server since session is already closed. 4 Squid returns Client an HTTP error 503. While I understand this kind of timing issue is almost impossible to avoid, it is still not desirable (visible to end-users). Is there a way to have squid re-establish a new connection and resend the failed request in a condition like the one described above, or are we going to just have to move away from using persistent connection between Squid and Web server? Regards, Ken Sugawara <[EMAIL PROTECTED]> Linux at IBM http://www.ibm.com/linux/
