WebOTX には複数のWebアプリケーションを配備しており、WebOTX Webサーバ(Apache)と連携しています。
配備しているアプリケーションを仮にAとBとします。Aはコンテキストルート(http://<host>/ で Aにアクセスできるように)に割り当てて配備しています。Bはコンテキストを指定して(http://<host>/B でアクセスできるように)配備しています。
この時、Webサーバ連携用ファイル(mod_jk-xxx-load)には、サーブレット(*.do)へのアクセスだけ Webコンテナに転送するように定義しているはずですが、実際には B配下の HTMLファイルまでWebコンテナに転送されてしまいます。
理由と対処を教えてください。
なお、mod_jk-xxx.conf-load では、JkMount定義が次のように"/" コンテキストに対して定義されています。
--- mod_jk-xx.conf-load 現在の定義 ------------------
JkMount "/*.do" ajp13
--------------------------------------------------------
文中の動的反映機能の詳細については、マニュアルの次の箇所を参照してください。
V7.1の場合
[ 運用編 > 4. コンフィグレーション > コンフィグレーション(設定一覧) > 5.4.1.動的反映しない設定方法 ]
V8.1~V8.2の場合
[ 運用編 > 4. コンフィグレーション > コンフィグレーション(設定一覧) > 5.4.1.動的反映しない設定方法 ]
V8.3~V9.5の場合
[ リファレンス集 運用管理・設定編 > 1. コンフィグレーション(設定一覧) > 1.4. Webコンテナ > 1.4.4.1. 動的反映しない設定方法 ]
V10の場合
[ リファレンス > 設定 > 4. Webコンテナ > 4.4. Webサーバプラグイン定義ファイルの設定方法 > 4.4.1. 動的反映しない設定方法 ]
B配下の HTMLファイルまでWebコンテナに転送されてしまう原因は、外部Webサーバ連携用の設定で動的反映機能を有効にしているためです。
アプリケーションBを配備すると動的反映機能により、自動的にB配下のリクエストをWebコンテナに転送します。
B配下のHTMLファイルへのリクエストがWebコンテナに転送されないようにするには、以下のように設定してください。
■ 動的反映機能の無効化
[V6~V9の場合]
mod_jk-xx.conf-load と同じフォルダにある workers.properties 内の "worker.list"に "ajp13_original" を追加してください。
---------- workers.properties ---------
修正前:worker.list=ajp13
修正後:worker.list=ajp13,ajp13_original
----------------------------------------
ファイル修正後は外部Webサーバを起動し、設定内容を反映します。
[V10の場合]
以下の手順で該当ファイルを編集します。
外部Webサーバを停止し、Webサーバプラグイン定義ファイルを編集します。
IISの場合
${INSTANCE_ROOT}/config/WebCont/isapi_redirect.properties の下記のプロパティをoffにしてください。
-----
dynamic_reflection=off
-----
WebOTX Webサーバ または Apache HTTP Serverの場合
${INSTANCE_ROOT}/config/WebCont/mod_jk-24.conf の下記のディレクティブをoffにしてください。
-----
JkDynamicReflection off
-----
外部Webサーバを起動し、設定内容を反映します。
【対象製品】Application Server
【確認済みのバージョン】V6~V10
【確認済みのエディション】すべて
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【コンポーネント】Webコンテナ
【カテゴリー】運用/設定