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