I've got a fairly simple rewrite rule that bounces our Python pycurl
client from the main server to a new server that actually dishes out the
file:
|RewriteRule ^/update-repository/windsington(/.*)?$
http://newsvr.example.com/update-repository/windsington-real$1 [R=307,L]
|
Our client downloads a set of files and is connecting to both servers
through our network proxy.
The first file downloads just fine, but the second invariably gives a
"408 Request Time-out". If I run the process again, the file that
previously timed out now downloads fine (since it is the first file to
be downloaded) and the next file gives me a 408. If I keep doing this,
I'll eventually get all of the files downloaded.
I've tried reproducing using wget and using a little sample python
program using pycurl, but I can't reproduce it.
What I'm hoping for here is some advice on how to debug this thing
inside of Apache (yes, the 408 definitely comes from the redirecting
server and not the proxy or the server redirected to; the 408 is in the
access logs). Obviously, something in the client/proxy is being sent
that is tripping Apache, but I don't know Apache well enough to know how
to debug this kind of thing. Alternatively, could libcurl be getting
tripped up on something?
Another interesting thing is that, in the access log, the successful
download has a proper user agent string, but in the failed download, it
does not.
Version information:
* Apache: 2.2.16 running on Debian Squeeze.
* Pycurl: libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
* Python: 2.4 on CentOS 5.7
Thanks.
tj