<div dir="ltr">I'm using a single bidirectional stream, so my backend is just a simple TCP server that understands the data that is sent to it.<div>I already tried setting the ALPN in the stream module and it actually worked. I was just not sure if that was the right thing to do.</div><div>But what you proposed is best, I might try adding a custom directive that can control what to set the ALPN to.</div><div>Thanks for the help.</div><div><br></div><div>R,</div><div>Lucas.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 14, 2021 at 12:00 PM Vladimir Homutov <<a href="mailto:vl@nginx.com">vl@nginx.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">14.06.2021 19:43, Lucas Cuminato пишет:<br>
> Hi, Vladimir, thanks for replying.<br>
> <br>
> I'm not using any protocol over QUIC, just using QUIC to send/receive <br>
> raw data to/from my application and the server, and having nginx proxy <br>
> it to a TCP server.<br>
> I do have a proxy_pass configured in my setup. I just omitted for <br>
> simplicity.<br>
> <br>
> R,<br>
> Lucas.<br>
<br>
Ok, so you have custom backend that knows what to do with QUIC streams?<br>
And you backend is TCP-based? Sounds quite interesting. Or does it deal<br>
with single stream only?<br>
<br>
Anyway, right now it fails at ALPN stage. Probably, in future, we may<br>
introduce some configuration directive to control it. It is not yet<br>
absolutely clear how the stream module should deal with quic.<br>
<br>
Yoy may want to try to copy the code wich sets ALPN callback from <br>
http_quic module and provides some meaningful value for protocol.<br>
<br>
> <br>
> <br>
> On Mon, Jun 14, 2021 at 11:35 AM Vladimir Homutov <<a href="mailto:vl@nginx.com" target="_blank">vl@nginx.com</a> <br>
> <mailto:<a href="mailto:vl@nginx.com" target="_blank">vl@nginx.com</a>>> wrote:<br>
> <br>
>     14.06.2021 18:08, Lucas Cuminato пишет:<br>
>      > Hello,<br>
>      ><br>
>      > Not sure If this is a bug in nginx-quic or if I'm not configuring<br>
>      > it correctly but when trying to use nginx-quic with the following<br>
>     settings.<br>
>      ><br>
>      > stream {<br>
>      >      server {<br>
>      >          listen 5555 quic reuseport;<br>
>      >          ssl_session_cache off;<br>
>      >          ssl_client_certificate ca.pem<br>
>      >          ssl_verify_client on;<br>
>      >          ssl_session_tickets off;<br>
>      >          ssl_certificate         cert.pem<br>
>      >          ssl_certificate_key    key.pem;<br>
>      >          ssl_protocols       TLSv1.3;<br>
>      >      }<br>
>      > }<br>
>      ><br>
>      > and using a standalone application that uses ngtcp2 to try to<br>
>     connect to<br>
>      > nginx-quic, I get a TLS alert saying that "No application protocol".<br>
>      > I've tracked this down and it seems like nginx-quic is not<br>
>     setting any<br>
>      > ALPN for the SSL context when using QUIC as a stream (in<br>
>      > ngx_stream_ssl_module.c).<br>
>      > It does it set it when using QUIC as HTTP<br>
>     (in ngx_http_ssl_module.c).<br>
>      > Now, I believe ALPN is mandatory for QUIC according to the<br>
>      > QUIC-TRANSPORT draft, so this might be a bug.<br>
>      > By copying the code done in ngx_http_ssl_module.c for setting the<br>
>     ALPN<br>
>      > and using it in ngx_stream_ssl_module.c, I was able to make my<br>
>      > standalone app connect and transfer data, but not sure<br>
>      > if this is the right fix.<br>
>      ><br>
>      > R,<br>
>      > Lucas.<br>
>      ><br>
>     Hello,<br>
>     this is expected with stream module.<br>
>     ALPN is required, but is not clear what protocol (http3? other protocol<br>
>     over quic?) is going to be used.<br>
>     Can you please elaborate your use case? What are you going to achieve?<br>
>     Also, the suggested configuration is not going to work, since you don't<br>
>     have any content handling module (i.e. proxy_pass or return).<br>
> <br>
><br>
<br>
<br>
_______________________________________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org" target="_blank">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-devel</a></blockquote></div>