

とあるリモートのサーバー上で動いている websocket サーバープログラムに対して、そのサーバー上の nginx
からリバースプロキシをはる際に、何も考えずに upstream 指定しただけでは、 websocket はうまく動作しないことに気づきました。

### 質問

  * nginx で websocket をリバースプロキシする際に必要な設定は何ですか？


CC BY-SA 4.0
2019-04-06T03:38:07.897
53971
2019-04-07T07:58:14.143
2019-04-06T03:43:45.283
754
754
question
nginx websocket
nginx の裏にある websocket サーバーに対する、 nginx の設定は？


`Upgrade`ヘッダを指定する必要があるようです。

参考: [WebSocket proxying](http://nginx.org/en/docs/http/websocket.html)

上記ページ抜粋:

[code]

    location /chat/ {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    
[/code]


CC BY-SA 4.0
2019-04-07T07:58:14.143
53991
2019-04-07T07:58:14.143
20098
53971
answer