4.15.2 ディレクティブの設定方法
(1) WebSocket通信の転送
ここでは各アドレスを次のように仮定します。
Webサーバ:www.example.com
バックエンドサーバ:backend.example.com
ProxyPassの転送先URLには,ws://ホスト名〔:ポート番号〕/を含む形で指定します。次のようにProxyPassディレクティブを設定すると,クライアントからの”ws://www.example.com/ws/”というリクエストは”ws://backend.example.com/”というリクエストとしてバックエンドサーバに転送されます。
ProxyPass /ws/ ws://backend.example.com/
(2) WebSocketログ
WebSocketログについては,「4.2.2 ログの採取方法」の「(5) WebSocketログ」を参照してください。
(3) サーバスレッド数の上限値変更
WebSocket通信中は,クライアントまたはバックエンドサーバのどちらかのコネクションが切断されるまで,一つのサーバプロセスまたはスレッドが占有されます。そのため,WebSocketを利用しない場合に比べて多くのサーバスレッドを動作させておく必要があります。
(a) UNIX版の場合
WebSocketを利用する場合,多くのサーバスレッドを必要とするため,worker MPMの使用を推奨します。worker MPMで一つのサーバプロセスで動作するサーバスレッド数は,ThreadsPerChildおよびThreadLimitディレクティブで指定します。サーバプロセス数の上限はServerLimitディレクティブで指定します。最大のサーバスレッド数はMaxClientsディレクティブで指定します。
(b) Windows版の場合
動作させるサーバスレッドは,ThreadsPerChildおよびThreadLimitディレクティブで指定します。