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 <kenq@jp.ibm.com>
Linux at IBM http://www.ibm.com/linux/
Received on Wed Jan 05 2005 - 00:07:14 MST
This archive was generated by hypermail pre-2.1.9 : Mon Mar 07 2005 - 12:59:35 MST