Aller au contenu principal
Kill -9 Club
Se connecter

bascule WebSocket (en-têtes Upgrade / Connection)

Web

La poignée de main qui transforme une requête HTTP en connexion à double sens : le client envoie Upgrade: websocket et Connection: Upgrade, le serveur répond 101 Switching Protocols. Rien de tout cela ne traverse un reverse proxy tout seul. Ces deux en-têtes ne valent que pour un saut du trajet, donc Nginx les retire, et proxy_pass parle HTTP/1.0 par défaut : le bloc proxy réclame proxy_http_version 1.1, proxy_set_header Upgrade $http_upgrade et proxy_set_header Connection 'upgrade'. Sans elles, la panne est muette. La page s'affiche, nginx -t passe, /var/log/nginx/error.log reste vide, et le journal de l'application montre une requête ordinaire. Seule la console du navigateur signale le socket qui se ferme et se rouvre en boucle, et le journal d'accès porte un 200 là où une bascule réussie écrit 101. Le rechargement à chaud d'une application Next.js tombe exactement de la même façon.

Aussi écrit : en-tête Upgrade, 101 Switching Protocols, handshake WebSocket