I'm attempting to upgrade a WSS request on Varnish 4 via Nginx.

[varnish]
sub vcl_recv {
  if (req.http.Upgrade ~ "(?i)websocket") {
    return (pipe);
  }
}

sub vcl_pipe {
  if (req.http.upgrade) {
    set bereq.http.upgrade = req.http.upgrade;
  }
}

[nginx]
server {
  listen      8080 default_server;

  location /socket {
    proxy_pass http://127.0.0.1:8081;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
 }

When initiating a WSS connection the request fails with "426 Upgrade header
MUST be provided", although the header is provided by the client.

When forcing the Upgrade header in Nginx:

proxy_set_header Upgrade "websocket";

The request passes to the backend and produces a new connection, the client
however does not receive a response back and times out.

Is there anything i can do to debug this further?

Thank you and regards,
Olivier
_______________________________________________
varnish-misc mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc

Reply via email to