On Thu, Nov 19, 2009 at 1:33 PM, Willy Tarreau <[email protected]> wrote: > On Wed, Nov 18, 2009 at 07:37:38PM -0800, David Birdsong wrote: >> >From the manual: >> <snip> >> hdr(name) The HTTP header <name> will be looked up in each HTTP request. >> Just as with the equivalent ACL 'hdr()' function, the >> header >> name in parenthesis is not case sensitive. If the header is >> absent or if it does not contain any value, the round-robin >> algorithm is applied instead. >> >> </snip> >> >> So this balancing scheme falls back to round-robin if the header is >> not found, what method is used if it is?..does it hash on the value of >> the header (or the name of the header)? > > The value of the header. I take note of your question an will improve > the doc on this point, as after re-reading it, I agree that it is not > obvious. > >> This question could extend to url_param, so if the param is found in >> the GET string or in the body of the POST, what next? What balance >> method is used? > > Same, just the value. The idea is that you generally know the variable > name and want to hash on its value if it's present. Most often it will > be a client ID or session ID. Awesome, that's what I was hoping was the case.
Ok, so now that hash-type is available, will this work? balance hdr(X-Backend) hash-type consistent Does this mean I can consistent hash on an arbitrary header value? (this would be great!) > > Regards, > Willy > >

