Hello,

I have very little experience with http2, and am running haproxy HAProxy 
version 2.8.4-1ppa1~jammy 2023/11/18 on Ubuntu 22.04
Running on: Linux 6.2.0-1015-aws #15~22.04.1-Ubuntu SMP Fri Oct  6 21:37:24 UTC 
2023 x86_64

And have the following in one of my proxies

listen apigateway_preprod_web
    bind *:8443 ssl crt /etc/ssl/private/redacted.pem crt /etc/ssl/private/
    log global
    mode http
    use_backend apigateway_preprod_web_back if { hdr(host) -i 
apigateway.internal }
    default_backend no_proxy

backend apigateway_preprod_web_back
    mode http
    option httpchk GET /api/v1/kong-admin/status?apikey=redacted HTTP/1.1
    http-check send hdr Host api-preprod.internal
    http-check expect ! rstatus ^5 # only 5xx is bad
    balance roundrobin
    server kong01 hostname01.internal:8443 check check-ssl port 8443 ssl verify 
required ca-file ca-certificates.crt fall 2 rise 2 inter 2000
    server kong02 hostname02.internal:8443 check check-ssl port 8443 ssl verify 
required ca-file ca-certificates.crt fall 2 rise 2 inter 2000


But my issue is that the hdr(host) part of the use_backend is not working if 
the connection arrives as http2.
I tried printing the headers using
log-format "${HAPROXY_HTTP_LOG_FMT} hdrs:%{+Q}[var(txn.req_hdrs)] -- custom"

but they appear to be blank
HTTP/2.0" hdrs:"" - custom

Is there any way to make hdr(host) work in http2 or is there an equivalent?

Thank you

[cid:image001.png@01DA1EE3.B8A1EC80]
Jason Grammenos | Operations & Infrastructure Analyst
Pronouns: he/him
P: 613.232.7797 x1131
Toll-free: 866.545.3745 x1131
jason.gramme...@agilitypr.com<mailto:jason.gramme...@agilitypr.com>
agilitypr.com<https://agilitypr.com/>
Learn new PR tips from our free resources<https://www.agilitypr.com/resources/>.

Reply via email to