A.2. Mod_proxy_cluster モジュールとディレクティブ
プロキシーロードバランサーモジュール mod_proxy_cluster は、クラスターノードへの要求のルーティングを処理します。プロキシーバランサーは、クラスターのアプリケーションの場所、各クラスターノードの現在の状態、およびセッション ID (要求が確立されたセッションの一部である場合) に基づいて要求を転送するために適切なノードを選択します。
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
mod_proxy_cluster の設定可能なディレクティブ
<VirtualHost> 要素に以下のディレクティブを設定して、負荷分散の動作を変更することもできます。
- CreateBalancers
ロードバランサーが Apache HTTP Server の仮想ホストでどのように作成されるかを定義します。
CreateBalancersでは、以下の値が使用できます。-
0: Apache HTTP Server で定義されたすべての仮想ホストにロードバランサーを作成します。ProxyPassディレクティブでロードバランサーを設定するのを忘れないようにしてください。 -
1: バランサーを作成しません。この値を使用する場合は、ProxyPassまたはProxyPassMatchにロードバランサー名を定義する必要もあります。 -
2: メインサーバーのみ作成します。これはCreateBalancersのデフォルト値です。
-
- UseAlias
定義された
AliasがServerNameに対応するかどうかを定義します。UseAliasについては、以下の値有効です。-
0: ワーカーノードのエイリアス情報を無視します。これはUseAliasのデフォルト値です。 -
1: 定義されたエイリアスがワーカーノードのサーバー名に対応していることを確認します。
-
- LBstatusRecalTime
-
ワーカーノードのステータスを計算するプロキシーの間隔 (秒単位) を定義します。デフォルトの間隔は
5秒です。 - ProxyPassMatch; ProxyPass
ProxyPassは、リモートサーバーをローカルサーバーの名前空間にマッピングします。ローカルサーバーにhttp://local.com/のアドレスがある場合、ProxyPassディレクティブはhttp://local.com/requested/file1のローカルリクエストをhttp://worker.local.com/file1のプロキシーリクエストに変換します。ProxyPass /requested/ http://worker.local.com/ProxyPassMatchは正規表現を使用して、プロキシーされた URL が適用されるローカルパスを照合します。いずれかのディレクティブで、
!は指定したパスがローカルであることを示します。そのパスのリクエストはリモートサーバーにルーティングしないでください。たとえば、以下のディレクティブはgifファイルをローカルで提供するように指定します。ProxyPassMatch ^(/.*\.gif)$ !