nginx と apache の背後にある websocketserver

nginx と apache の背後にある websocketserver

両方がリバース プロキシとして機能する nginx と apache を介して Websocket 接続を確立するにはどうすればよいでしょうか。

システムは、メイン ホスト上の Apache とコンテナー内の Tornado Web アプリケーションを使用してセットアップされています。

私の Apache 設定は次のとおりです:

<LocationMatch /container_path/(?<app>(.+))/ws >
        ProxyPass                       "ws://container_ip/app_name/%{env:MATCH_APP}/ws"
        ProxyPassReverseCookiePath      "/"  "/container_path/"

</LocationMatch>

私の nginx 設定は次のようになります:

upstream backend {
        server 127.0.0.1:8888;
}

server {
    listen 80;


    location ~ /ws$ {

        proxy_pass http://backend;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

この設定では、400不正な要求tornado の WebSocketHandler からのステータス。

あらゆるヒントに感謝します

関連情報