Hi,

On Fri, Feb 11, 2011 at 12:59:01PM +0100, Craig Craig wrote:
> Hi,
> 
> this is an addition to the cases I sent previously, I accidentally found out 
> that haproxy behaves differently when the last header is not a "Connection:" 
> header.
> 
> This is a case for config #2 ("reqidel ^X-Forwarded-For:.*" is set):
> 
> case i): stays on the same backend.
> nc 127.0.0.1 8085 <<EOF
> GET / HTTP/1.1
> Host: www.google.de
> X-Forwarded-For: 127.0.0.1
> Connection: keep-alive
> Some-Header: foobar
> 
> EOF
> 
> Expected behaviour:
> Case i) and h) *must* behave the same. Some browsers reorder the headers, so 
> you might have a "Cookie:" after a "Connection:" header, thus some users will 
> be loadbalanced to the same backend, some will jump between backends.
> A really mean bug...

I agree. There is absolutely zero reason for the behaviour to differ
when the headers are differently ordered. I think that the fix for the
double header deletion bug introduced a new bug. I'll try all of your
configs with 1.4.10, 1.4.11 and 1.4.8 in case I can spot something.

Thanks very much for all your tests and details,
Willy


Reply via email to