Jarno,

On 3/30/22 14:57, Jarno Huuskonen wrote:
Hello,
when testing with HTTP/2 we found a behaviour, we did not expect: we use switching between different backends by use of a map file, e.g.:
use_backend %[url,map_beg(/etc/haproxy/pool.map,defaultbackend)]
With HTTP/1.1 this works fine in haproxy.
But with HTTP/2, it does not work.


I think with HTTP/2 %[url] is
https://dom.ain/path...
and with HTTP/1.1 %[url] is just path (I think this has been discussed on
list, but at the moment I can't find a link).

I can't find anything within half a minute either, but "Origin Form" is what's used for HTTP/2 URL I believe.

Have you tried with %[path,map_beg(/etc/haproxy/pool.map,defaultbackend)] ?

This is the correct solution (and in fact it's effectively documented):

https://cbonte.github.io/haproxy-dconv/2.4/configuration.html#url

With ACLs, using
"path" is preferred over using "url", because clients may send a full URL as
is normally done with proxies. The only real use is to match "*" which does
not match in "path", and for which there is already a predefined ACL.

Best regards
Tim Düsterhus

Reply via email to