7.1.1.2 JSESSIONID の使用

この設定は、JSESSIONID を使用してロードバランシングを行う方法を提供します。

JBoss アプリケーションサーバーでは、tomcat コンテナがインスタンスの名前をセッション ID クッキーの最後に、セッション ID から ドット (.) で区切って追加します。したがって、Apache Web サーバーがセッション持続クッキーの値の中にドットを検出すると、ドットの後ろの部分のみを使用して、ルートを検索します。Tomcat Server インスタンス ro がそのインスタンス名を認識されるためには、JBoss 設定ファイルデプロイ /jbossweb.sar/server.xml 内部の 属性 jvmRoute を、それぞれの JBoss に接続するワーカーのルートの値に設定します。ここで使用しているセッションクッキーの名前は JSESSIONID です。

次の設定を APACHE_HOME/conf/httpd.conf ファイルに追加してください。
<VirtualHost *:80> 
ServerName lb.xyz.com 
ServerAlias lb.xyz.com 
ProxyRequests Off 
ProxyPreserveHost On 
<Proxy balancer://cluster> 
BalancerMember http:// abc.com:8080 route=node1 
BalancerMember http:// xyz.com:8080 route=node2 
</Proxy> 
ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid 
ProxyPassReverse / balancer://cluster/ 
</VirtualHost>
サーバー側の設定
  1. クラスターの各ノードごとに、次の場所からテキストエディターで、server.xml ファイルを開きます: [appserver root]/server/<profile_name>/deploy/jbossweb.sar

  2. server.xml ファイルで Engine name 要素を検索し、jvmRoute 属性を追加します。例えば、node1 というノードでは、エレメントを次のように編集します : <Engine name="jboss.web" defaultHost="localhost" jvmRoute="node1">

  3. 編集した server.xml ファイルを保存します。

注意: 各クラスターノードごとに、jvmRoute の値は一意でなければならず、それぞれの JBoss サーバーに接続するワーカーのルートの値と一致していなければなりません (httpd.conf での MalancerMember 設定を参照)。