注: 構成を更新し、末尾のスラッシュを websocket パスに追加しました。まだ同じ問題
mod_proxy_wstunnelを使用して Apache リバース プロキシの背後でgo-websocketを使用することは可能ですか?
私は物事を機能させようとしましたが失敗しました。
Apache リバース プロキシの背後でChat の例を使用しようとしました ( mod_proxy_wstunnelが有効になっています)。そして、それは機能しません。プロキシは成功しますが、websocket 部分はまったく機能しません。
私の Apache 設定は次のようになります。
<VirtualHost *:80>
DocumentRoot /var/www/foobar
ServerName foobar.com
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPass /ws/ ws://localhost:8080/ws/
ProxyPassReverse /ws/ ws://localhost:8080/ws/
ErrorLog logs/error_log-foobar
CustomLog logs/access_log-foobar common
LogLevel debug
</VirtualHost>
もちろん、ポート 8080 でチャット サーバーを実行しています。SSH トンネルでテストしたところ、問題なく動作しました。次に、Apache に移行しました。
初めて試したとき、javascript コンソールは次のように不平を言います。
NetworkError: 403 Forbidden - http://foobar.com/ws/
オリジン チェックでリクエストがスタックしているようです。次に、オリジンチェックをコメントアウトしてから再試行しましたが、次のようになります。
NetworkError: 400 Bad Request - http://foobar.com/ws/
チャット サーバーがアップグレード リクエストをまったく受け取っていないようです。
これをどのようにデバッグすればよいですか? どこから探し始めるべきですか?