kubernetes/ingress-nginx

use-http2 default value discrepancies in docs

ktzsolt opened this issue · 4 comments

What happened:

Trying to figure out what the default value is for use-http2 ConfigMap setting is, documentation just says Enables or disables support in secure connections. https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-http2

When clicking on the nginx doc link for http2 I see that default value is off: https://nginx.org/en/docs/http/ngx_http_v2_module.html

When not setting use-http2 in the ingress-nginx-controller ConfigMap I see that http2 support is actuall turned on. Checking my ingress endpoints with curl -vvv I see in the logs:

ALPN, server accepted to use h2
Using HTTP2, server supports multiplexing
GET /myingress HTTP/2
HTTP/2 200

I can force http1.1 with curl -vvv --http1.1 and then I get http1.1 responses.

Checking one of the ingress-nginx pods nginx.conf file I see:

$ grep http2 nginx.conf
http2_max_concurrent_streams    128;
        http2 on;
        http2 on;

When I set use-http2: "true" in the ingress-nginx-controller ConfigMap the same happens.
When I set use-http2: "false" in the ingress-nginx-controller ConfigMap then I can not get http2 responses and I don't see http2 on in nginx.conf file.

What you expected to happen:

having the same default value for http2 as the base nginx software has or document the default value on https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#use-http2

NGINX Ingress controller version (exec into the pod and run nginx-ingress-controller --version.):

nginx/1.25.5

/kind documentation
/remove-kind bug

This issue is currently awaiting triage.

If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@ktzsolt which version of upstream NGINX introduced support for HTTP2 ?

@ktzsolt which version of upstream NGINX introduced support for HTTP2 ?

https://nginx.org/en/docs/http/ngx_http_v2_module.html

The ngx_http_v2_module module (1.9.5) provides support fo HTTP/2.

1.9.5 was released in 2015
https://blog.nginx.org/blog/nginx-1-9-5