Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use-http2 default value discrepancies in docs #12291

Open
ktzsolt opened this issue Nov 4, 2024 · 3 comments
Open

use-http2 default value discrepancies in docs #12291

ktzsolt opened this issue Nov 4, 2024 · 3 comments
Labels
kind/documentation Categorizes issue or PR as related to documentation. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@ktzsolt
Copy link

ktzsolt commented Nov 4, 2024

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

@ktzsolt ktzsolt added the kind/bug Categorizes issue or PR as related to a bug. label Nov 4, 2024
@k8s-ci-robot k8s-ci-robot added kind/documentation Categorizes issue or PR as related to documentation. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. and removed kind/bug Categorizes issue or PR as related to a bug. labels Nov 4, 2024
@k8s-ci-robot
Copy link
Contributor

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.

@longwuyuan
Copy link
Contributor

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

@ktzsolt
Copy link
Author

ktzsolt commented Nov 4, 2024

@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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/documentation Categorizes issue or PR as related to documentation. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
Development

No branches or pull requests

3 participants