Hello Kristian,
On Tue, Jan 18, 2011 at 02:13:31PM -0800, kristian kvilekval wrote:
>
> Hello,
> We have been using haproxy for a while, but noticed that haproxy is
> failing on large POST (several GB). I couldn't find anything in the docs
> related to this. Here are the relent log entries. The first post
> determines that the files is not on the server and the second tries to
> post the file.
>
> Jan 18 13:32:47 localhost.localdomain haproxy[21307]:
> 128.111.185.111:49313 [18/Jan/2011:13:32:47.467] www bisque/bisque1
> 0/0/0/62/62 200 262 - - ---- 0/0/0/0/0 0/0 "POST /dn/savefile HTTP/1.1"
> Jan 18 13:33:05 localhost.localdomain haproxy[21307]:
> 128.111.185.111:49314 [18/Jan/2011:13:33:05.718] www www/<NOSRV>
> -1/-1/-1/-1/2 400 187 - - PR-- 0/0/0/0/0 0/0 "POST /dn/savefile HTTP/1.1"
As you can see, an invalid request (400) was reported by haproxy.
Haproxy supports 64-bit content lengths, so I don't see why that would
not work even with large files. Are you sure that your client does
support large content-lengths and that it is not sending a negative
value due to an integer overflow ?
> Can anyone point us to a solution?
You should add the following line to your HTTP frontend :
capture request header Content-Length len 20
The content-length header will then appear in the logs between
braces.
Regards,
Willy