Welcome! Log In Create A New Profile


Future of QUIC in Stream

Roman Arutyunyan
April 07, 2023 10:30AM
Hi everyone,

As we are approaching the merge of QUIC code into mainline, there's one
important issue that's still on the table. That's QUIC in Stream[1].

In nginx-quic branch[2], QUIC is supported both in http and Stream. In http,
there are two application-level protocols supported by nginx, which are HTTP/3
and hq-interop (HTTP/0.9 over QUIC). Stream only supports plain QUIC without
an application-level protocol involved.

http {
server {
listen 8443 quic;

# the defaults
#http3 on;
#http3_hq off;


stream {
server {
listen 9443 quic;


While QUIC in Stream has been a handy tool for testing QUIC implementation in
its early days, the truth is, we don't see many application-level protocols
other that HTTP/3, that work over QUIC.

One such protocol is DNS-over-QUIC (DoQ) [3]. If you try to make it work over
a generic QUIC proxy in Stream, you'll quickly realize that DoQ uses DNS/UDP
packet format, rather DNS/TCP, so it cannot be proxied to a TCP backend.
As a result, DoQ support would require a separate module for dealing with DNS
packet prefix.

HTTP/3 cannot be proxied by a generic QUIC -> TCP proxy as well.

Considering the above, our current plan is to remove QUIC support from Stream
before the merge. In future we may bring it back depending on availability of
application-level protocols that work over QUIC.

We are open for feedback about QUIC in Stream, application protocols and
the features you expect in Stream.

[1] https://nginx.org/en/docs/stream/ngx_stream_core_module.html
[2] https://hg.nginx.org/nginx-quic/
[3] https://www.rfc-editor.org/rfc/rfc9250.html

Roman Arutyunyan
nginx mailing list
Subject Author Posted

Future of QUIC in Stream

Roman Arutyunyan April 07, 2023 10:30AM

Re: Future of QUIC in Stream

itpp2012 April 07, 2023 11:45AM

Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 273
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready