Fiche de pair inaccessible, demande d'upgrade

Je viens d’être confronté au même problème, erreur 426 demande d’upgrade.

J’ai donc mis à jour toute ma machine… Nan, je déconne, ne faites pas ça !

En fait un reverse proxy qui doit rediriger le protocole websocket utilisé par WS2P doit ajouter des instructions dans l’entête des requêtes adressées à l’application.

En fait, le protocole websocket est géré comme une upgrade du protocole http. Le client dit à nginx : il faut que tu upgrades http en websocket.

Mais nginx doit alors à son tour signaler dans la requête à l’application qu’il faut faire un upgrade de http vers websocket.

Pour cela, il faut ajouter ce bloc d’instruction dans la définition de la redirection :

    location /path {
        # required for websocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;

        proxy_pass http://127.0.0.1:21901;
    }

Pour les anglophones, le sujet est très bien expliqué dans cet article :

3 Likes