ingress-nginx icon indicating copy to clipboard operation
ingress-nginx copied to clipboard

[FEATURE REQUEST] HTTP/3 support

Open pdiaz opened this issue 5 years ago • 48 comments

Several companies are working on HTTP/3 support, including on NGINX.

What are the plans related to support this new and exciting protocol?

One first step would be to enable it with https://github.com/cloudflare/quiche/blob/master/extras/nginx/nginx-1.16.patch

pdiaz avatar Nov 19 '19 15:11 pdiaz

@pdiaz we use the openresty distribution so this feature requires support from that project first. Someone already asked a similar question here https://github.com/openresty/openresty/issues/556

aledbf avatar Nov 19 '19 16:11 aledbf

The controller is currently build using openresty but seems that everything is contained on this repository. A first step would be to build nginx with the Cloudflare patch...

https://github.com/kubernetes/ingress-nginx/blob/master/images/nginx/rootfs/build.sh#L444

pdiaz avatar Nov 22 '19 23:11 pdiaz

No, sorry. This must be present in openresty firsts. We cannot add this feature without the QA process they have to ensure nothing breaks.

That said, you can fork the repository and build and maintain the feature in your fork.

aledbf avatar Nov 23 '19 00:11 aledbf

Sure I can fork it. It's also better to collaborate with other people instead of trying to make all this on my own. Is anyone interested in joining forces?

pdiaz avatar Nov 23 '19 00:11 pdiaz

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

fejta-bot avatar Feb 21 '20 01:02 fejta-bot

Stale issues rot after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle rotten

fejta-bot avatar Mar 22 '20 01:03 fejta-bot

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /close

fejta-bot avatar Apr 21 '20 02:04 fejta-bot

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity. Reopen the issue with /reopen. Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /close

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/test-infra repository.

k8s-ci-robot avatar Apr 21 '20 02:04 k8s-ci-robot

So no http3 support?

ernst77 avatar Mar 03 '21 12:03 ernst77

/reopen

iakat avatar Mar 17 '21 22:03 iakat

@sim1: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to this:

/reopen

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/test-infra repository.

k8s-ci-robot avatar Mar 17 '21 22:03 k8s-ci-robot

/reopen

pdiaz avatar Mar 18 '21 00:03 pdiaz

@pdiaz: Reopened this issue.

In response to this:

/reopen

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/test-infra repository.

k8s-ci-robot avatar Mar 18 '21 00:03 k8s-ci-robot

/remove-lifecycle rotten

iakat avatar Mar 24 '21 23:03 iakat

When can we expect HTTP3 to be supported? Is there any changes in configuration that will need to be made, or will it simply require upgrading versions?

francescov1 avatar Mar 27 '21 22:03 francescov1

I am also looking for HTTP3 support in openresty. Is it supported yet ?

Kullu14 avatar Mar 30 '21 17:03 Kullu14

/kind feature

strongjz avatar Apr 29 '21 20:04 strongjz

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale

k8s-triage-robot avatar Jul 28 '21 21:07 k8s-triage-robot

/remove-lifecycle stale

pdiaz avatar Jul 28 '21 22:07 pdiaz

/remove-lifecycle stale

unixfox avatar Jul 28 '21 22:07 unixfox

we have just upgraded to nginx 1.20.1 and from here https://quic.nginx.org/README it looks that HTTP/3 is still experimental so not until there is a stable release will we be implementing HTTP/3.

strongjz avatar Jul 28 '21 23:07 strongjz

/priority important-longterm /triage accepted /lifecycle active

strongjz avatar Aug 17 '21 16:08 strongjz

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Nov 15 '21 17:11 k8s-triage-robot

/remove-lifecycle stale

unixfox avatar Nov 15 '21 18:11 unixfox

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Feb 13 '22 18:02 k8s-triage-robot

/remove-lifecycle stale

unixfox avatar Feb 13 '22 18:02 unixfox

Any new progress?

kvzn avatar Mar 02 '22 06:03 kvzn

HTTP/3 has some issues with SSL implementations it's why difficult to add it into NGINX. Basically, the responsibility between SSL lib and HTTP server became is dramatically different because we should support UDP protocol QUIC.

stalkerg avatar May 06 '22 15:05 stalkerg

/lifecycle frozen

strongjz avatar Jul 02 '22 22:07 strongjz

How do you think this issue will be resolved across webservers as a whole, it sounds like it might be a problem for software other than NGINX that does a similar thing (e.g. Apache) if I'm understanding correctly?

TL;DR Please let me know what/where I can file my upvotes so that I can cover up my website's performance woes with the new, faster protocol

henricook avatar Jul 20 '22 17:07 henricook