Embedded variables from ngx_http_core_module and websocket connections

Dorin RuV ruv.donita at gmail.com
Thu Jul 22 07:55:08 UTC 2021


Wow! That's it! Thank you, Francis!

I need to catch up with some reading on http//2.0. I didn't know that
"Connection Upgrade" is http/1.1 specific.

So, in order to set up the websocket anyway and keep http/2.0 (don't know
how much sense that makes) there would be 2 options as I see it:

1. Statically define the connection upgrade headers - "proxy_set_header
Connection Upgrade", but in this case there will never be a "connection:
close" coming from the client.

2. Create a custom header ("X-Upgrade-Custom" e.g.) and use
$http_x_upgrade_custom as connection starter, but this would extremely
specific to this constellation.

What do you think?

Best,
Dorin

Am Mi., 21. Juli 2021 um 23:40 Uhr schrieb Francis Daly <francis at daoine.org
>:

> On Tue, Jul 20, 2021 at 12:39:51PM +0200, Dorin RuV wrote:
>
> Hi there,
>
> > I'm currently having an issue with nginx which I cannot get to the bottom
> > of.
>
> > server{
> >   listen 443 ssl http2;
>
> Does anything change if you just remove that "http2"?
>
> >   location / {
> >     proxy_http_version 1.1;
> >     proxy_set_header Upgrade $http_upgrade;
>
> "Upgrade" is a http/1.1 header, not a http/2.0 header. So for an incoming
> http/2.0 request, the variable should be empty.
>
> > It seems though that the
> > $http_upgrade variable is seen as empty, even though tcpdump confirms the
> > fact that the Upgrade header is correctly sent to Nginx by the client
> > request.
>
> I'm guessing that tcpdump is showing that the http/1.1 request to port
> 80 includes the Upgrade header; but is not showing anything about what
> is in the encrypted http/2.0 request to port 443?
>
> Cheers,
>
>         f
> --
> Francis Daly        francis at daoine.org
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20210722/fff37611/attachment.htm>


More information about the nginx mailing list