第5章 プロキシサーバーコンポーネントのインストール
		本章では JBoss Enterprise Web Server プロキシサーバーに JBoss HTTP Connector mod-cluster をインストールする方法を説明します。
	
5.1. Apache モジュール リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
			本項では 「コンポーネント」 で説明した Apache プロキシサーバーモジュールに関する詳細な定義について説明します。これらのモジュールを タスク : プロキシサーバーコンポーネントをインストールする の一部として指定します。
		
5.1.1. mod_manager.so リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
				Cluster Manager モジュールの mod_manager はノードからワーカーノード登録、ワーカーノード負荷データ、ワーカーノードのアプリケーションライフサイクルイベントなどのメッセージを受信し、認識します。
			
LoadModule manager_module modules/mod_manager.so
LoadModule manager_module modules/mod_manager.so
<VirtualHost> 要素で次の関連するディレクティブを定義することもできます。
			- MemManagerFile
 - mod_manager が設定の詳細を保存するファイルの場所を定義します。mod_manager はまた、共有メモリおよびロックファイルの生成されたキーに対しこの場所を使用します。これは絶対パスの名前でなければなりません。 このパスは NFS 共有ではなく、ローカルドライブにあることが推奨されます。デフォルト値は
/logs/です。 - Maxcontext
 - JBoss mod_cluster が使用するコンテキストの最大数です。デフォルト値は
100です。 - Maxnode
 - JBoss mod_cluster が使用するワーカーノードの最大数です。デフォルト値は
20です。 - Maxhost
 - JBoss mod_cluster が使用するホスト (エイリアス) の最大数です。これはロードバランサの最大数でもあります。デフォルト値は
10です。 - Maxsessionid
 - 保存されているアクティブなセッション識別子の最大数です。5 分以内にセッションから受信する情報がない場合はセッションはアクティブでないと見なされます。デフォルト値は
0で、このロジックを無効にします。 - ManagerBalancerName
 - ワーカーノードがロードバランサの名前を与えない場合に使用するロードバランサの名前です。デフォルト値は
myclusterです。 - PersistSlots
 onに設定すると、ノード、エイリアス、コンテキストはファイルで永続化されます。デフォルト値はoffです。- CheckNonce
 onに設定すると、セッション識別子はそれらが一意であり以前に発生したことがないことを確認します。デフォルト値はonです。警告
このディレクティブをoffに設定することで、ご使用のサーバーをリプレーアタックに対し脆弱性を有するようにできます。- SetHandler
 - ハンドラを定義し、クラスタ内のワーカーノードに関する情報を表示します。これは
Location要素で定義されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブラウザでLocation要素に定義された $LOCATION にアクセスすると、次のようなものが表示されます (この場合、$LOCATION はmod_cluster-handlerとしても定義されます)。 
				Transferred はワーカーノードに送られた POST データに該当します。Connected は、このステータスページが要求されたときに処理された要求数に該当します。Sessions はアクティブなセッション数に該当します。このフィールドは 
Maxsessionid が 0 の場合は存在しません。
			5.1.2. mod_proxy_cluster.so リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
				Proxy Balancer Module の mod_proxy_cluster はクラスタノードに対し要求のルーティングを処理します。Proxy Balancer はクラスタ内のアプリケーションの場所、各クラスタノードの現在のステート、Session ID (要求が確率したセッションの一部の場合) に基づき、要求を転送する該当するノードを選択します。
			
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
<VirtualHost> 要素で次の関連するディレクティブを定義し、負荷分散の動作を変更することができます。
			mod_proxy_cluster directives
- CreateBalancers
 - Apache HTTP Server の仮想ホストでのロードバランサの作成方法について定義します。次の値は
CreateBalancersで有効です。- 0
 - Apache HTTP Server で定義されたすべての仮想ホストでロードバランサを作成します。
ProxyPassディレクティブでロードバランサを設定するようにしてください。 - 1
 - バランサを作成しません。この値を使用する場合は、
ProxyPassまたはProxyPassMatchでもロードバランサの名前を定義しなければなりません。 - 2
 - メインサーバーのみ作成します。これは
CreateBalancersのデフォルト値です。 
 - UseAlias
 - 定義された
AliasがServerNameに対応することを確認するか定義します。次の値はUseAliasで有効です。- 0
 - ワーカーノードからの Alias 情報を無視します。これは
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/
ProxyPass /requested/ http://worker.local.com/Copy to Clipboard Copied! Toggle word wrap Toggle overflow ProxyPassMatchは Regular Expressions を使用して、プロキシされた URL が適用するべきローカルパスに適合します。いずれのディレクティブの場合でも、!はある特定のパスがローカルであり、そのパスの要求がリモートサーバーにルーティングされるべきではないことを示しています。例えば、次のディレクティブは.gifファイルがローカルに提供されることを指定します。ProxyPassMatch ^(/.*\.gif)$ !
ProxyPassMatch ^(/.*\.gif)$ !Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
5.1.3. mod_advertise.so リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
				Proxy Advertisement Module の mod_advertise.so は、UDP マルチキャストメッセージを介してプロキシサーバーの存在をブロードキャストします。サーバー告知のメッセージには、負荷分散クラスタに加わりたいノードからの応答に対しプロキシがリッスンする IP アドレスとポート番号が含まれています。
			
				このモジュールは 
VirtualHost 要素の mod_manager に沿って定義されます。次のコードスニペットの識別子は advertise_module です。
			LoadModule advertise_module modules/mod_advertise.so
LoadModule advertise_module modules/mod_advertise.so
				mod_advertise は次のディレクティブを取ります。
			
- ServerAdvertise
 - 告知しているメカニズムの使用方法を定義します。
Onに設定した場合、告知しているメカニズムを使用して、ワーカーノードにこのプロキシにステータス情報を送るよう指示します。次の構文ServerAdvertise On http://hostname:port/でホスト名とポートを指定することもできます。これが必要なのは、名前ベースの仮想ホストを使用する場合か、仮想ホストが定義されていない場合だけです。デフォルト値はOffです。offに設定すると、プロキシはその場所を告知しません。 - AdvertiseGroup
 - 告知するマルチキャストのアドレスを定義します。構文は
AdvertiseGroup address:portであり、address はAdvertiseGroupAddressに該当し、port はワーカーノードのAdvertisePortに該当するはずです。ワーカーノードが JBoss Enterprise Application Platform ベースで、-uスイッチが起動時に使用される場合は、デフォルトAdvertiseGroupAddressは-uスイッチにより渡された値です。デフォルト値は224.0.1.105:23364です。port が指定されていないと、指定されるデフォルトのポートは23364です。 - AdvertiseFrequency
 - IP アドレスとポートを告知するマルチキャストメッセージ間の秒単位の間隔です。デフォルト値は
10です。 - AdvertiseSecurityKey
 - JBoss Web の JBoss HTTP Connector mod_cluster を特定するために使用する文字列を定義します。デフォルトでは、このディレクティブは設定されておらず何も情報は送られません。
 - AdvertiseManagerUrl
 - プロキシサーバーに情報を送るためにワーカーノードが使用する URL を定義します。デフォルトでは、このディレクティブは設定されておらず何も情報は送られません。
 - AdvertiseBindAddress
 - マルチキャストメッセージを送るアドレスとポートを定義します。構文は
AdvertiseBindAddress address:portです。これにより、複数の IP アドレスを使ってマシンにアドレスを指定できます。デフォルト値は0.0.0.0:23364です。