WebSocketを通すリバースプロキシならApacheよりnginx

mod_proxy_wstunnelでwebsoketをリバースプロキシしようとしてもどうしても400になるんですよ。
単体でやるとできたりするんだけど、nodejsと組み合わせるとことごとく動かない!!!
調べるといろいろがんばってうまくできたと言う事例もあるのですが、
2時間ぐらいがんばってみたのですがそれにあわせてやってもどうも出来ない。

というわけでnginxインストールしてみたらすげーさらっとできた。

$ sudo apt-get install -y nginx

でインストールして、
以下のような設定ファイルを食わせるだけ。

server {
   listen       80;
    server_name localhost;
    proxy_set_header    X-Real-IP       $remote_addr;
    proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header    Host            $http_host;
    proxy_redirect      off;
    proxy_max_temp_file_size    0;
    
    location /dev/gara/socket.io {
        proxy_pass http://192.168.56.101:8888/socket.io;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    location /dev/gara {
        proxy_pass http://192.168.56.101:8888/;
    }
}

らくだわー

あたらしくnodejsサービスを追加するので既存のApacheでやりたかったのですが、全部nginxに置き換えちゃいました。
Apacheで出来ることは問題なく動いているようなのでこれでいこうとおもいます。