> use_backend %[req.hdr(host),lower] Is there anyway to extract the host subdomain to use like this (rather than the full hostname)? I can't see any obvious way to do it from the manual, but perhaps I'm missing something.
On 14 November 2015 at 22:14, SL <[email protected]> wrote: > @Igor - thanks, I didn't know about that map feature, I think it could be > useful in a number of situations. > > @Baptiste - Ah, it is possible dynamically, that's great - thank you! > > On 14 November 2015 at 22:05, Baptiste <[email protected]> wrote: > >> On Sat, Nov 14, 2015 at 3:21 PM, SL <[email protected]> wrote: >> > Hi, >> > >> > We have quite a large number of backends, and are selecting which back >> end >> > to use based on the host specified in the request. (Note these are not >> > loadbalanced, we have to target them individually). >> > >> > Currently we are doing this with ACLs, e.g. for each: >> > >> > acl svr1_request hdr_beg(host) -i svr1 >> > >> > then: >> > >> > use_backend svr1 if svr1_request >> > >> > (An example request host in this case would be svr1.example.com) >> > >> > Using ACLs like this means that we have a large number of repeated ACLs >> and >> > use_backends. It's a bit cumbersome, difficult to maintain, and I >> suspect >> > not very efficient. >> > >> > Is there a better way to do this? What would be ideal, is some way to >> take >> > the subdomain of the request host, and simply select a backend whose >> name >> > matched, but I don't know of any way to do that. Is such a thing >> possible? >> > >> > Thank you >> > >> > S >> > >> >> Hi, >> >> As Igor stated, you can use content from this blog article: >> >> http://blog.haproxy.com/2015/01/26/web-application-name-to-backend-mapping-in-haproxy/ >> >> very usefull if you want to map many host header to the same backend. >> If you want a single host header per backend, then, simply use >> >> use_backend %[req.hdr(host),lower >> >> Then each backend must use the host header as the backend name and >> you're done, dynamic routing with a single use_backend rule, whatever >> the number of backends you have. >> >> Baptiste >> > >

