Hi List,

we've just noticed and confirmed some strange change in behavior, depending on whether the request is made with HTTP 1.x or 2.x.
Steps to reproduce:
HAProxy 2.1.x
A simple http frontend, including h2 + logging

tail -f /var/log/haproxy.log|grep curl

curl -s https://example.com -o /dev/null --http1.1
curl -s https://example.com -o /dev/null --http2

Notice the difference:
test_https~ backend_test/testsrv1 1/0/0/2/3 200 4075 - - ---- 1/1/0/0/0 0/0 {example.com|curl/7.69.1|} "GET / HTTP/1.1" test_https~ backend_test/testsrv1 0/0/0/3/3 200 4075 - - ---- 1/1/0/0/0 0/0 {example.com|curl/7.69.1|} "GET https://example.com/ HTTP/2.0"

Now the same with HAProxy 2.0.14:
test_https~ backend_test/testsrv1 1/0/0/2/3 200 4075 - - ---- 1/1/0/0/0 0/0 {example.com|curl/7.69.1|} "GET / HTTP/1.1" test_https~ backend_test/testsrv1 0/0/0/3/3 200 4075 - - ---- 1/1/0/0/0 0/0 {example.com|curl/7.69.1|} "GET / HTTP/2.0"

That also affects ACLs like url*/path* and probably others.
I don't think that is intended, isn't it?
That looks like a regression to me. If that is a bug/regression, than it might be good if it's possible to catch that one via test case (regtest).

--
Regards,
Christian Ruppert

Reply via email to