04/04/2023, 10:32 AM
Hi, I have created a TLS ingress for an angular app on RKE2. While trying to access JSON file from the UI, the calls are failing with "*ERR_HTTP2_PROTOCOL_ERROR*" error. But the same works fine with a non TLS ingress. The difference I see is that the TLS ingress uses HTTP/2 protocol while non TLS ingress uses HTTP/1.1 protocol. Non TLS Ingress:
[kubenode@master ~]$ curl -kv <>
* Rebuilt URL to: <>
*   Trying xx.xx.xx.xx...
* Connected to <|> (xx.xx.xx.xx) port 80 (#0)
> GET / HTTP/1.1
> Host: <|>
> User-Agent: curl/7.61.1
> Accept: */*
< HTTP/1.1 200 OK
< Date: Tue, 04 Apr 2023 10:01:59 GMT
TLS Ingress:
[kubenode@master ~]$ curl -kv <>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
* http2 error: Invalid HTTP header field was received: frame type: 1, stream: 1, name: [            proxy-revalidate, max-age=0], value: []
* HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
* stopped the pause stream!
* Connection #0 to host <|> left intact
curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)
Am not sure how to make the TLS ingress use HTTP/1.1 protocol instead of HTTP2 protocol error. I have tried adding the annotation "false" on the TLS ingress but the ingress still uses HTTP/2 protocol only. I want to disable HTTP/2 protocol on RKE2. Any suggestions would be appreciated.