Hi Willy,

It seems the http-send-name-header directive is not sent with health-check
and I need it in the health-check as well :)

is there a way to make it work with health-check as well?

Thanks
Sachin



On Tue, Dec 18, 2018 at 5:18 PM Sachin Shetty <sshe...@egnyte.com> wrote:

> Thankyou Willy. http-send-name-header works for my use case.
>
> @Norman - Yes, we are looking at replacing the usage of X- headers.
>
> Thanks
> Sachin
>
> On Mon, Dec 17, 2018 at 2:18 AM Norman Branitsky <
> norman.branit...@micropact.com> wrote:
>
>> Don't forget the "X-" header prefix is deprecated:
>> https://tools.ietf.org/html/rfc6648
>>
>> Norman Branitsky
>>
>> On Dec 16, 2018, at 03:50, Willy Tarreau <w...@1wt.eu> wrote:
>>
>> Hi Sachin,
>>
>> On Sat, Dec 15, 2018 at 10:32:21PM +0530, Sachin Shetty wrote:
>>
>> Hi,
>>
>>
>> We have a tricky requirement to set a different header value in the
>> request
>>
>> based on which server in a backend is picked.
>>
>>
>> backend pod0
>>
>>    ...
>>
>>    server server1 server1:6180  check
>>
>>    server server2 server2:6180  check
>>
>>    server server3 server3:6180  check
>>
>>
>> so when request is forwarded to server1 - I want to inject an header
>>
>> "X-Some-Header: Server1",  "X-Some-Header: Server2"  for server 2 and so
>>
>> on.
>>
>>
>> You have this with "http-send-name-header", you need to pass it the
>> header field name and it will fill the value with the server's name.
>> It will even support redispatch by rewinding the stream and rewriting
>> the value (which made it very tricky and infamous for quite some time).
>>
>> If it possible to register some lua action that would inject the header
>>
>> based on the server selected  before the request is forwarded to the
>> server.
>>
>>
>> In fact except for the directive above it's not possible to perform
>> changes after the server has been selected, because the server is
>> selected when trying to connect, which happens after the contents are
>> being forwarded, thus you can't perform any processing anymore. There
>> is quite some ugly code to support http-send-name-header and it cannot
>> be generalized at all. Just to give you an idea, think that a hash-based
>> LB algo (balance uri, balance hdr) could decide to use some contents
>> you're about to modify... So the contents have to be fixed before the
>> server is chosen.
>>
>> Cheers,
>> Willy
>>
>>

Reply via email to