Najpierw rozróżnij nieudany handshake od połączenia, które otwiera się i później zamyka. Te objawy prowadzą do innych kontroli.
Przekaż aplikacji żądanie zmiany protokołu
Dla osobnej trasy WebSocket umieść w server:
location /socket/ {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
jawnie ustawia HTTP/1.1 w komunikacji z backendem. przekazuje żądaną przez klienta zmianę protokołu. informuje backend, że połączenie prosi o taką zmianę. Te nagłówki trzeba przekazać jawnie, ponieważ proxy nie przesyłają automatycznie wszystkich nagłówków dotyczących konkretnego połączenia.
