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 >> >>