Distinguez d'abord une négociation de connexion échouée d'une connexion qui s'ouvre puis se ferme. Ces deux symptômes conduisent à des vérifications différentes.
Transmettre la demande d'upgrade à l'application
Pour une route WebSocket dédiée, placez ceci dans 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";
}
utilise explicitement HTTP/1.1 vers le backend. transmet le changement de protocole demandé par le client. indique au backend que cette connexion demande ce changement. Ces en-têtes doivent être transmis explicitement, car les proxys ne relaient pas simplement tous les en-têtes propres à une connexion.
