ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【WebOTX Application Server】複数のドメインとWebOTX Webサーバを連携させる方法(OTX-FAQ-000877)

質問内容

複数のアプリケーションを別々のドメインで動作させ、クライアント(Webブラウザ)からは一つのポート番号でアクセスする方法を教えてください。

回答内容

[対象とするシステム構成]

 本ドキュメントは、次のようなシステム構成を対象としたドキュメントです。

 ・複数のアプリケーションを別々のドメインで動作させ、クライアント(Webブラウザ)からは一つのポート番号でアクセスする

 このシステム構成を実現するための方法は色々ありますが、ここでは、Webサーバプラグイン(*1)の設定による方法を説明します。
 *1) Webサーバに組み込まれ、クライアントからのリクエストを連携したWebOTXドメインに転送する役割りを持つコンポーネント。


[対象とする環境]

 本ドキュメントの対象とする具体的な環境は次の通りです。

 ・domain1とdomain2の2つのドメインが存在
 ・2つのドメインとWebサーバが同じマシンで動作
 ・2つのドメインにコンテキストパスが異なるアプリケーションを配備
 ・domain1のWebOTX Webサーバを利用して2つのドメインに配備したアプリケーションにアクセス

 本ドキュメントで記載している設定はdomain1に対して行います。つまり、domain1のWebOTX Webサーバを利用してdomain1とdomain2と連携します。

 3つ以上のドメインが存在するケースでは、以降の手順の中で追加で次の設定を行います。
 ・[Webサーバ連携用ファイルの設定]    … 3つ目以降のドメイン用のワーカを定義
 ・[コンテキスト情報を手動で設定する方法] … (5) 3つ目以降のドメイン用のコンテキスト情報を定義
                       (6) 3つ目以降のドメインのWebOTX Webサーバを無効化

 domain1のWebOTX WebサーバではなくWebOTX Webサーバのみを動作させた専用のドメインを利用する場合は、Webサーバ専用のドメインを作成したのち、以降の手順の中で次のように設定を行います。
 ・[Webサーバ連携用ファイルの設定]    … Webサーバ専用ドメインに対して作業を行う
 ・[コンテキスト情報を手動で設定する方法] … (1)~(5) Webサーバ専用ドメインに対して作業を行う



[Webサーバ連携用ファイルの設定]

 まず、domain1のWebOTX Webサーバを2つのドメインと連携するための設定を行います。

 対象ファイル:
 <ドメインディレクトリ(domain1)>/config/WebCont/workers.properties

 worker.list に domain1 用と domain2 用にそれぞれワーカを定義します。

 ※ワーカとは、Webサーバプラグインが連携するドメインとの接続を1対1で管理する単位です。

 [設定内容]
 -------------------------------------
 #
 # domain_1_xxxx … domain1用ワーカ名
 # domain_2_xxxx … domain2用ワーカ名
 # ajp13_original … 動的反映OFFの設定
 #
 worker.list=domain_1_agent-ajp,domain_1_tpsystem-ajp,domain_2_agent-ajp,domain_2_tpsystem-ajp

#
# domain1用のワーカ
#
# エージェントプロセス用
worker.domain_1_agent-ajp.port=8099
worker.domain_1_agent-ajp.host=localhost
worker.domain_1_agent-ajp.type=ajp13
worker.domain_1_agent-ajp.connection_pool_size=150
worker.domain_1_agent-ajp.recovery_options=7
# プロセスグループ用
worker.domain_1_tpsystem-ajp.port=20102
worker.domain_1_tpsystem-ajp.host=localhost
worker.domain_1_tpsystem-ajp.type=ajp13
worker.domain_1_tpsystem-ajp.connection_pool_size=150
worker.domain_1_tpsystem-ajp.recovery_options=7

#
# domain2用のワーカ
#
# エージェントプロセス用
worker.domain_2_agent-ajp.port=8010
worker.domain_2_agent-ajp.host=localhost
worker.domain_2_agent-ajp.type=ajp13
worker.domain_2_agent-ajp.connection_pool_size=150
worker.domain_2_agent-ajp.recovery_options=7
# プロセスグループ用
worker.domain_2_tpsystem-ajp.port=20112
worker.domain_2_tpsystem-ajp.host=localhost
worker.domain_2_tpsystem-ajp.type=ajp13
worker.domain_2_tpsystem-ajp.connection_pool_size=150
worker.domain_2_tpsystem-ajp.recovery_options=7
-------------------------------------

 上記の場合、worker.domain1_xxxxがdomain1とやり取りを行うワーカであり、worker.domain_2_xxxxがdomain2とやり取りを行うワーカです。それぞれのドメインには、エージェントプロセスと連携するワーカと、プロセスグループと連携するワーカの2つのワーカがあります。それぞれ、次のようにWebサーバとの連携用ポート番号を設定します。

 worker.domain_1_agent-ajp.port=8099
 worker.domain_1_tpsystem-ajp.port=20102
 worker.domain_2_agent-ajp.port=8010
 worker.domain_2_tpsystem-ajp.port=20112

 それぞれのポート番号は各ドメインにおいて次のコマンドで確認可能です。
 otxadmin> login --user admin --password adminadmin -- port {管理用ポート番号}

 [エージェントプロセス用]
 otxadmin> get server.network-config.network-listeners.network-listener.agent-ajp-listener.port
 [プロセスグループ用]
 otxadmin> get server.network-config.network-listeners.network-listener.tpsystem-ajp-listener.port

 ※管理用ポート番号は次のファイルに記載しています。
  domain1用:
   {WebOTXインストールディレクトリ}/domain1.properties
   domain.admin.port=6212
  domain2用:
   {WebOTXインストールディレクトリ}/{domain2作成時に使用したpropertiesファイル}
   domain.admin.port=6222


 また、動的反映機能を無効(OFF)に設定してください。動的反映機能の無効の設定はdomain1に対して次のコマンドを実行します。

 otxadmin> login --user admin --password adminadmin --port {domain1の管理用ポート番号}
 otxadmin> set server.web-container.plugin-config.plugin-query-mode=Off

 この設定を行った場合、ドメインに配備しているWebアプリケーションのコンテキスト情報(アクセスするためのURL)を手動で設定する必要があります。コンテキスト情報を手動で設定する手順は次の通りです。


[コンテキスト情報を手動で設定する方法]

※以下はドメインディレクトリが「C:/WebOTX/domains/domain1」で、WebOTX Webサーバ 2.4 と連携を行っている場合の例です。パスは、Unixの場合「/opt/WebOTX/domains/domain1」という形になります。

※この設定を行った場合、配備しているWebアプリケーションへのアクセスURLが変わった場合や、新しいWebアプリケーションを配備する 場合に「5) コンテキスト情報の追記」の作業が必要となります。


1) httpd.confの設定

 <ドメインディレクトリ(domain1)>/config/WebServer/httpd.confの confの箇所をconf-custom に変更します。

 修正前:
 include "C:/WebOTX/domains/domain1/config/WebCont/mod_jk-24.conf"
 修正後:
 include "C:/WebOTX/domains/domain1/config/WebCont/mod_jk-24.conf-custom"


2) mod_jk-24.conf-customの作成

 <ドメインディレクトリ(domain1)>/config/WebCont/mod_jk-24.confをコピーしてmod_jk-24.conf-customを作成します。


3) mod_jk-24.conf-customの設定

 mod_jk-24.conf-customの中のuriworkermap.propertiesの定義をuriworkermap.properties-customに変更します。

 修正前:
 JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties"
 修正後:
 JkMountFile "C:/WebOTX/domains/domain1/config/WebCont/uriworkermap.properties-custom"


4) uriworkermap.properties-customの作成

 <ドメインディレクトリ(domain1)>/config/WebCont/uriworkermap.propertiesをコピーしてuriworkermap.properties-customを作成します。


5) コンテキスト情報の追記

 uriworkermap.properties-customにコンテキストパス(以下の{コンテキストパス}部分)とワーカのマッピングを記述します。コンテキストパスの前に "/" を付与します。

  http://{host}:{port}/{コンテキストパス}/{コンテンツパス名等}

 ------------------------------------
/{コンテキストパス}={ワーカ名}
/{コンテキストパス}/*={ワーカ名}
 ------------------------------------

 例えば、domain1のエージェントプロセスにAAA、domain2のプロセスグループにBBB のコンテキストパスでアクセスするアプリケーションを配備している場合次のようになります。

 ------------------------------------
 /AAA=domain_1_agent-ajp
 /AAA/*=domain_1_agent-ajp

 /BBB=domain_2_tpsystem-ajp
 /BBB/*=domain_2_tpsystem-ajp
 ------------------------------------

 2つのドメインそれぞれのワーカ名を定義し、一つのWebアプリケーションについて"/AAA"と"/AAA/*"をセットで追加します。


6) domain2のWebOTX Webサーバ無効化

 今回のケースでは、domain1のWebOTX Webサーバを利用するため、誤動作防止のためdomain2のWebOTX Webサーバを無効にします。

 otxadmin> login --user admin --password adminadmin --port {domain2の管理ユーザ用ポート番号}
 otxadmin> set server.internal-lifecycle-module.WebServerService.enabled=false


7) ドメインの再起動

 設定を反映させるために2つのドメインをそれぞれ再起動します。


【対象製品】Application Server
【確認済みのバージョン】V10
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】運用/設定

製品名カテゴリ

WebOTX
WebOTX Application Server

  • コンテンツID: 3150114997
  • 公開日: 2020年06月16日
  • 最終更新日:2020年06月16日

アンケート

サポート情報充実のためアンケートにご協力をお願いいたします。



コメント欄:
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。