ここでは、以下のWebサーバーを利用する際に、Sticky Sessionの設定をする場合の環境設定の例について説明します。
Apache HTTP Server
Webサーバーの設定項目の詳細については、各ベンダーより提供されているマニュアルを参照してください。
設定方法の説明で使用する例を以下に示します。
項目 | 値 |
---|---|
GlassFishを運用しているマシンのIPアドレス | 192.0.2.1 |
GlassFish Serverクラスターの名前 | cluster1 |
GlassFish Serverインスタンス(1)の名前 | instance1 |
GlassFish Serverインスタンス(1)のHTTPポート | 28080 |
GlassFish Serverインスタンス(2)の名前 | instance2 |
GlassFish Serverインスタンス(2)のHTTPポート | 28081 |
配備されているアプリケーションのコンテキストルート | ExapmleApp |
GlassFish Server側の設定
GlassFish Serverクラスターが起動中である場合、停止します。
asadmin stop-cluster cluster1
以下のコマンドを実行し、各GlassFish Serverインスタンスにシステムプロパティを設定します。
asadmin create-jvm-options --target cluster1 \-DjvmRoute=\$\{JVM_ROUTE\} asadmin create-system-properties --target instance1 JVM_ROUTE=i1 asadmin create-system-properties --target instance2 JVM_ROUTE=i2
GlassFish Serverクラスターを再度起動します。
asadmin start-cluster cluster1
Apache HTTP Server側の設定
Apache HTTP Serverがインストールされた環境で、以下のようにglassfish_stickysession.confファイルを作成します。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ProxyRequests Off ProxyPass /ExapmleApp balancer://ExapmleApp stickysession=JSESSIONID <Proxy balancer://ExapmleApp > BalancerMember http://192.0.2.1:28080/ExapmleApp loadfactor=1 route=i1 BalancerMember http://192.0.2.1:28081/ExapmleApp loadfactor=1 route=i2 </Proxy>
作成した設定ファイルを/etc/httpd/conf.d/下に格納します。
mv glassfish_stickysession.conf /etc/httpd/conf.d/glassfish_stickysession.conf
Apache HTTP Serverを再起動します。
sudo systemctl restart httpd