Hi Artur,
Le 16/12/2019 à 19:06, Artur a écrit :
Hello,
This is an extract of my frontend configuration working perfectly on 2.0.11.
frontend wwws
bind 0.0.0.0:443 ssl crt /etc/haproxy/ssl/server.pem alpn
h2,http/1.1
mode http
acl is_dev_qd hdr(host) -i dev.q.d dev.qs.d
acl is_qd hdr(host) -i q.d qs.d www.q.d www.qs.d
http-request replace-uri ^/PPDSlide/(.*) /d3/PPDSlide/\1 if
is_dev_qd
http-request replace-uri ^/PPDSlide/(.*) /p3/PPDSlide/\1 if is_qd
....
URLs like https://q.d/PPDSlide/testfile are correctly rewritten to
https://q.d/p3/PPDSlide/testfile and forwarded to the backend.
Once I switched to 2.1.1, haproxy no longer rewrites the URI and the
URIs remains unchanged while forwarded to the backend. I had to
downgrade to have the usual behaviour.
Is it a bug or something changed in normal haproxy behaviour with 2.1
release ?
I can confirm the issue.
It seems to happen with h2 requests only, since commit #30ee1efe67.
haproxy normalizes the URI but replace-uri doesn't take into account
this information. The fix should be easy for replace-uri (If someone
wants to work on it, I won't have time this week).
http://git.haproxy.org/?p=haproxy-2.1.git;a=commit;h=30ee1efe67
--
Cyril Bonté