2016-09-23 4 views
0

私が頼りにしているwebsocketライブラリ(PHP-Websockets)はまだ安全なソケット(wss)をサポートしていません。私のウェブサイトはhttps以上で提供されているので、安全でないws接続は使用できません。Apache mod_proxy:セキュリティで保護されていないwebsocketを転送します

私はApache's mod_proxyを使用して、ブラウザからのセキュリティ保護された要求をクライアントに転送しようとしています。接続しようとしたら

Javascriptを

var ws = new WebSocket('wss://example.com/_ws_/'); 

のApacheのVirtualHost

ProxyPass  "/_ws_/" "ws://127.0.0.1:8080/" 
ProxyPassReverse "/_ws_/" "ws://127.0.0.1:8080/" 
# I've also tried "/_ws_/" "ws://example.com:8080/" Same error below 

、ブラウザが500 Server Errorを受けます。ログには次の情報が表示されます。

URL/_ws_ /に有効なプロトコルハンドラはありません。 mod_proxyのDSOバージョンを使用している場合は、プロキシサブモジュールがLoadModuleを使用してコンフィグレーションに含まれていることを確認してください。

私はプロキシルールを削除する場合は、httpsにユーザーをリダイレクトを停止することを確認し、ブラウザから安全でないソケットに接続してみました:new WebSocket('ws://example.com/')、物事はうまく動作します。

マイロードされたApacheモジュールはあなたにもmod_proxy_wstunnelモジュールをロードする必要があり、プロキシWebSocketをリバースするにはmod_ssl.cmod_proxy.cApache 2.4

+0

私はbitnami tomcat stackと同様の問題があります。 Unfortunatly私はmodプロキシを設定するのに十分なスキルがなく、私はapache2 Webサーバーをまったく削除します。 https://community.bitnami.com/t/tomcat-8-websockets/39477/3 – degr

+0

@degrリンクありがとう – BeetleJuice

+0

'mod_proxy_wstunnel'モジュールはどうなっていますか? –

答えて

1

mod_proxy_http.cが含まれます。

関連する問題