このOracleモジュールにはサーブレット・コンテナとの通信用にajp13プロトコルが用意さ
れており、Oracle HTTP ServerからOracle9iAS Containers for J2EE(OC4J)にリクエスト がルーティングされます。
mod_oc4jは、デフォルトで有効化されています。インストール時に、OC4Jインスタンスに
配置されたアプリケーション用に、oc4j_deploy_tool.jarによってmod_oc4j.confにマウン ト・ポイントが追加されます。mod_oc4jの特定のマウント・ポイントに対するリクエスト は、そのマウント・ポイント用のOC4Jインスタンスにルーティングされます。
OC4Jインスタンスは、Oracle Process Management and Notification(OPMN)により起動 され、管理されます。OPMNの概要は、第1章「概要」の「Oracle HTTP Serverの起動、
停止および再起動」を参照してください。OPMNの詳細は、『Oracle9i Application Server 管理者ガイド』を参照してください。
mod_oc4j のセキュリティ上の考慮事項 のセキュリティ上の考慮事項 のセキュリティ上の考慮事項 のセキュリティ上の考慮事項
mod_oc4jを使用する場合は、次のセキュリティ上の考慮事項に注意してください。
■ mod_oc4jは、SSLに対応していないajp13プロトコルを使用してOC4Jと通信します。
このため、Oracle HTTP ServerおよびOC4Jのプロセスはファイアウォール内で実行す る必要があります。Oracle HTTP ServerとOC4Jプロセスの間にファイアウォールがあ る場合は、OC4Jのajp13リスナーによってバインドされているポートをオープンする 必要があります。
■ mod_oc4jが構成されている場合は、mod_osslとmod_ossoによって設定された一部の
セキュリティ環境パラメータ(6-19ページの「Oc4jExtractSSL」および「Oc4jEnvVar」 を参照)が、リクエスト時にOC4Jに渡されます。
関連項目関連項目
関連項目関連項目: Apache Serverマニュアルの「Module mod_negotiation」
関連項目関連項目
関連項目関連項目: 『Oracle9iAS Containers for J2EEユーザーズ・ガイド』
mod_oc4j
Oracle HTTP Serverのモジュール 6-15
mod_oc4j の構成 の構成 の構成 の構成
この項では、httpd.confとmod_oc4j.conf内のすべての関連ディレクティブについて 説明します。また、サンプル構成も示します。
mod_oc4j の構成ファイル の構成ファイル の構成ファイル の構成ファイル
mod_oc4jのディレクティブは、固有のファイルmod_oc4j.conf内でメンテナンスされま
す。mod_oc4j.confファイルは、次のディレクティブを使用して、デフォルトで httpd.confファイルにインクルードされます。
include "$ORACLE_HOME/Apache/Apache/conf/mod_oc4j.conf"
ORACLE_HOMEは、Oracle HTTP Serverが常駐するOracleホームへのパスです。
mod_oc4j のディレクティブ のディレクティブ のディレクティブ のディレクティブ
この項では、mod_oc4jの構成に使用するディレクティブについて説明します。
LoadModule
このディレクティブでは、mod_oc4jモジュールをロードします。
構文: LoadModule oc4j_module mod_oc4j shared library file 必須かどうか: 必須
デフォルト: なし(UNIXの場合)
LoadModule oc4j_module modules/ApacheModuleOc4j.dll
(Windowsの場合)
例: LoadModule oc4j_module mod_oc4j.so (UNIXの場合)
LoadModule oc4j_module modules/ApacheModuleOc4j.dll
(Windowsの場合)
mod_oc4j
Oc4jMount
このディレクティブでは、mod_oc4jに対して、特定のパスを含むリクエストを宛先にルー ティングするように指示します。宛先には、単一のOC4JプロセスまたはOC4Jインスタン スのセットを指定できます。
構文: Oc4jMount path [destination]
pathはコンテキストのルートです。pathパラメータには、OC4J構成ファイル
xxx-web-site.xmlで指定されているものと同じアプリケーション・コンテ
キストのルートを指定する必要があります。次の<web-site>要素の例では、ア プリケーション・コンテキストのルートは太字で示されています。
<default-web-app application="default" name="defaultWebApp" root="/j2ee”/>
宛先のタイプは、次のいずれかです。
ajp13_dest
cluster_dest(デフォルトの宛先タイプ)
instance_dest
宛先を指定しない場合は、デフォルトのOC4Jインスタンス名homeが使用され ます。次に例を示します。
Oc4jMount /myApp/*
このディレクティブの結果は、次のディレクティブと同じになります。
Oc4jMount /myApp/* cluster://local_ias_cluster_name:home 必須かどうか: 必須ではない
デフォルト: なし
例: Oc4jMount /app01/* ajp13://my-sun:8888 Oc4jMount /app02/*
Oc4jMount /app03/* home
Oc4jMount /app04/* ias_cluster_1:home
Oc4jMount /app05/* cluster://ias_cluster_1:home,ias_cluster_2:home Oc4jMount /app06/* instance://ias_instance_1:home
Oc4jMount /app07/* instance://ias_instance_1:home_1,ias_instance_2:home_2
mod_oc4j
Oracle HTTP Serverのモジュール 6-17 使用方法: ルーティングの宛先ごとに例を示します。
ajp13_dest
Oc4jMount path ajp13://my-sun:8888
pathに指定したパターンを持つリクエストが、ajp13プロトコルを使用して
my-sun、ポート8888でリスニング中のOC4Jプロセスにルーティングされます
(my-sunとポート8888は、OC4J構成ファイルxxx-web-site.xmlで指定さ
れているajp13プロトコルのホストとポートです)。
cluster_dest
Oc4jMount path cluster://iAS Cluster Name:OC4J Instance Name, iAS Cluster Name:OC4J Instance Name...
pathに指定したパターンを持つリクエストが、指定した1つ以上のOC4Jイン スタンスにロード・バランスされます(インスタンスはカンマで区切ってくだ さい)。
iAS Cluster Nameはオプションです。iAS Cluster Nameを指定する場合、宛先 のOC4Jインスタンスは指定したクラスタ内にある必要があります。iAS Cluster Nameを指定しない場合、宛先のOC4JインスタンスはローカルのiAS クラスタ内にある必要があります。
instance_dest
Oc4jMount path instance://host:iAS Instance Name:OC4J Instance Name, host:iAS Instance Name:OC4J Instance Name...
pathに指定したパターンを持つリクエストが、指定した1つ以上のOC4Jイン スタンスにロード・バランスされます(インスタンスはカンマで区切ってくだ さい)。
ホスト名はオプションです。ホスト名を指定する場合、宛先のOC4Jインスタ ンスはそのホストに常駐するiASインスタンス内にある必要があります。ホス ト名を指定しない場合、宛先のOC4Jインスタンスはどのホストにあってもか まいません。
mod_oc4j
Oc4jMountCopy
このディレクティブでは、ベース・サーバーからマウント・ポイントをコピーします。
Oc4jCacheSize
このディレクティブでは、OC4J接続キャッシュのサイズを指定します。
構文: Oc4jMountCopy on | off 必須かどうか: 必須ではない
デフォルト: on
例: Oc4jMountCopy off
使用方法: このディレクティブでは、mod_oc4jに対して、このディレクティブを指定し た仮想ホストにベース・サーバーからOc4jMountポイントをコピーするよう に指示します。値が「on」の場合は、ベース・サーバー内で構成されたすべ
てのOc4jMountポイントが仮想ホストにコピーされます。値が「off」の場合
は、仮想ホストの有効範囲内で構成されたOc4jMountポイントのみが使用さ れます。
構文: Oc4jCacheSize size of connection cache 必須かどうか: 必須ではない
デフォルト: UNIXの場合: 1 Windowsの場合: 32
例: Oc4jCacheSize 64
使用方法: このディレクティブでは、1回のhttpdプロセスでキャッシュできるOC4J同 時接続の数を指定します。
1台のコンピューター上で実行中であり、OC4Jインスタンスにアクセスして いるOracle HTTP Serverプロセスの数が1024よりも多い場合は、このディレ クティブを0に設定する必要があります。これによってmod_oc4jとOC4Jイ ンスタンスとの間の永続的な接続が無効になるので、パフォーマンスが向上し ます。
mod_oc4j
Oracle HTTP Serverのモジュール 6-19 Oc4jExtractSSL
このディレクティブでは、SSL環境変数の受渡しを制御します。
Oc4jEnvVar
このディレクティブでは、mod_oc4jに対して、一部の環境変数をOracle HTTP Serverから OC4Jに渡すように指示します。
構文: Oc4jExtractSSL On|Off 必須かどうか: 必須ではない
デフォルト: Off
例: Oc4jExtractSSL On
使用方法: このディレクティブでは、mod_oc4jに対して、3つのSSL環境変数SSL_
CLIENT_CERT、SSL_CIPHERおよびSSL_SESSION_IDをOC4Jに渡すかど うかを指示します。SSL環境変数をOC4Jにコピーする操作にはパフォーマン ス・コストが関連するため、環境変数をOC4Jで使用可能にする必要がある場 合にのみ「On」に設定してください。
構文: Oc4jEnvVar environment variable name [environment variable default value]
必須かどうか: 必須ではない デフォルト: なし
例: Oc4jEnvVar MY_ENV1
Oc4jEnvVar MY_ENV2 myenv_value
使用方法: OC4jEnvVarエントリごとに、Oracle HTTP ServerディレクティブPassEnv も環境変数を使用して構成する必要があります。構成しない場合、mod_oc4j は値の取得と受渡しができません。
複数のエントリを指定できます。環境変数のデフォルト値を2番目のパラメー タとして指定する方法と、何も指定しない方法があります。環境変数の値が Oracle HTTP Server環境で見つかると、その値がOC4Jに渡されます。環境変 数の値が見つからない場合でも、デフォルト値が設定されていれば、その値が 渡されます。
この環境変数の値がOracle HTTP Server環境で見つからず、デフォルト値が 設定されていない場合、OC4Jには何も渡されません。
mod_oc4jで一部の構成済み環境変数を各リクエストでOC4Jに渡すと、パ
フォーマンスが低下します。
mod_oc4j
mod_oc4j のサンプル構成 のサンプル構成 のサンプル構成 のサンプル構成
この項では、mod_oc4jのサンプル構成について説明します。
レベル レベル レベル
レベル 1 の構成 の構成 の構成 の構成
レベル1は、最も単純な構成です。次にレベル1の構成例を4つ示します。
例 例 例
例A この構成では、URI /servlet/で始まるすべてのリクエストが、OC4Jプロセスのデフォ
ルト・インスタンスにマウントされます。OC4JプロセスのインスタンスはOPMNによって 処理され、デフォルト・インスタンスはOPMNのデフォルトのOC4Jインスタンスと同じ である必要があるため、この構成ではmod_oc4jをOPMNとともに使用する必要がありま す。
1. httpd.confファイルに次のように入力します。
Oc4jMount /servlet/*
例 例 例
例B この構成では、Oc4jMountディレクティブのかわりにLocationコンテナを使用して、
例Aの構成と同じ操作を実行します。
1. httpd.confファイルに次のように入力します。
<Location /servlet>
SetHandler oc4j-handler
</Location>
例例
例例C この構成では、URI /servlet/または/j2ee/で始まるすべてのリクエスト、およびすべ
てのJSPページが、OC4JプロセスのデフォルトのOC4Jインスタンスにマウントされます。
この構成では、mod_oc4jをOPMNとともに使用する必要があります。
1. oc4j.confファイルに次のように入力します。
Oc4JMount /servlet/*
Oc4JMount /*.jsp Oc4JMount /j2ee/*