この章では、Oracle HTTP Serverの基本情報を提供します。また、現在の環境でOracle HTTP Serverを構成および使用する際に必要な手順について説明します。
この章の内容は、次のとおりです。
Oracle HTTP Serverを起動、停止および再起動するには、Fusion Middleware Controlまたはopmnctl
コマンドを使用できます。
次の図に示すように、Fusion Middleware Controlのホームページには、Oracle HTTP Serverを含むすべてのインストール済コンポーネントのステータスが表示されます。
次のようにopmnctl
を使用すると、Oracle HTTP Serverのステータスを確認できます。
opmnctl status Processes in Instance: instance1 ---------------------------------+--------------------+---------+--------- ias-component | process-type | pid | status ---------------------------------+--------------------+---------+--------- webcache1 | WebCache-admin | 19556 | Alive webcache1 | WebCache | 19555 | Alive ohs1 | OHS | 7249 | Alive
Oracle HTTP Serverが起動すると、親httpd
プロセスのプロセスID(PID)がhttpd.pid
ファイルに書き込まれます。このファイルは、デフォルトで次のディレクトリにあります。
ORACLE_INSTANCE
/diagnostics/logs/OHS/<ohs_name>/
管理者は、デーモンの再起動時と終了時にプロセスIDを使用できます。プロセスが異常終了した場合は、killコマンドを使用してhttpd子プロセスを停止する必要があります。
httpd.conf
のPidFile
ディレクティブで、PIDファイルの場所を指定します。
注意: UNIXおよびLinuxプラットフォームでは、PidFile ディレクティブを編集する場合、ORACLE_HOME/ohs/bin/apachectl ファイルを編集してPIDファイルの新しい場所を指定する必要もあります。 |
この項では、Fusion Middleware Controlおよびopmnctl
を使用してOracle HTTP Serverを起動する方法について説明します。
Fusion Middleware Controlを使用してOracle HTTP Serverを起動するには、次の手順を実行します。
Oracle HTTP Serverのホームページに移動します。
「Oracle HTTP Server」メニューから「コントロール」を選択します。
「コントロール」メニューから「起動」を選択します。
opmnctl
を使用してOracleインスタンス内のすべてのOracle HTTP Serverコンポーネントを起動するには、次のコマンドを使用します。
opmnctl startproc process-type=OHS
opmnctl
を使用して特定のOracle HTTP Serverコンポーネント(<ohs_name>/
など)を起動するには、次のコマンドを使用します。
opmnctl startproc ias-component=<ohs_name>
起動プロセスの詳細情報を確認するには、次のようにコマンドにverboseオプションを含めます。
opmnctl verbose startproc ias-component=<ohs_name>
次に、verboseオプションの使用時に表示される情報の例を示します。
HTTP/1.1 200 OK Content-Length: 656 Content-Type: text/html Response: 1 of 1 processes started. <?xml version='1.0' encoding='WINDOWS-1252'?> <response> <opmn id="stadk58:6701" http-status="200" http-response="1 of 1 processes started."> <ias-instance id="inst1"> <ias-component id="ohs1"> <process-type id="OHS"> <process-set id="OHS"> <process id="699033550" pid="11366" status="Alive" index="1" log= "/scratch/oracle/product/11110/test090306/instances/inst1/diagnostics/logs/OHS/ohs1/console~OHS~1.log" operation="request" result="success"> <msg code="0" text=""> </msg> </process> </process-set> </process-type> </ias-component> </ias-instance> </opmn> </response>
UNIXシステムでは、1024未満のTCP/IPポート番号は、root権限を持つプロセスのみがそれらのポートでリスニングを許可されるという点で特別です。
デフォルトでは、Oracle HTTP Serverはroot以外のユーザー(Oracle Fusion Middlewareをインストールしたユーザー)として実行されます。このため、UNIXシステムでOracle HTTP Serverを特権ポート(たとえば、ポート80)で実行する場合は、次の手順でrootとしてOracle HTTP Serverを実行できるようにする必要があります。
Fusion Middleware Controlを使用するか、次のopmnctl
コマンドを使用してOracle HTTP Serverを停止します。
opmnctl stopproc ias-component=<ohs_name>
rootユーザーに変更します。
ORACLE_HOME/ohs/bin
にナビゲートし、次のコマンドを実行します。
chown root .apachectl chmod 6750 .apachectl
rootユーザーとして終了します。
httpd.conf
ファイルにUserディレクティブとGroupディレクティブを追加またはコメント解除し、Oracle Fusion Middlewareのインストールおよび構成に使用したユーザーまたはグループに設定します。
Fusion Middleware Controlを使用するか、次のコマンドを使用してOracle HTTP Serverを起動します。
opmnctl startproc ias-component=<ohs_name>
この項では、Fusion Middleware Controlおよびopmnctl
を使用してOracle HTTP Serverを停止する方法について説明します。Oracle HTTP Serverが停止すると、他のサービスも影響を受ける場合があります。
Fusion Middleware Controlを使用してOracle HTTP Serverを停止するには、次の手順を実行します。
Oracle HTTP Serverのホームページに移動します。
「Oracle HTTP Server」メニューから「コントロール」を選択します。
「コントロール」メニューから「停止」を選択します。
opmnctl
を使用してOracleインスタンス内のすべてのOracle HTTP Serverコンポーネントを停止するには、次のコマンドを使用します。
opmnctl stopproc process-type=OHS
opmnctl
を使用して特定のOracle HTTP Serverコンポーネント(<ohs_name>
など)を停止するには、次のコマンドを使用します。
opmnctl stopproc ias-component=<ohs_name>
停止プロセスの詳細情報を確認するには、次のようにコマンドにverboseオプションを含めます。
opmnctl verbose stopproc ias-component=<ohs_name>
Oracle HTTP Serverを再起動すると、Apache親プロセスが子プロセスに対して現在のリクエストの後に終了する(リクエストの処理中でなければ即時に終了する)ように指示します。再起動時に、親プロセスはその構成ファイルを再び読み取り、そのログ・ファイルを再び開きます。それぞれの子プロセスが終了するたびに、親プロセスは、新しく生成された構成ファイルの子プロセスでそれらの子プロセスを置き換えます。新しい子プロセスは即時に新しいリクエストの処理を開始します。
注意: 構成ファイルにエラーが含まれる場合は、再起動コマンドを発行しても、Apache親プロセスは再起動せずにエラーで終了します。ただし、親プロセスが終了しても子プロセスは稼働中のまま残ります。(これらは、最後のリクエストを処理することによって正常に終了する子プロセスです。)この場合、Oracle HTTP Serverを再起動しようとすると、Oracle HTTP Serverがそのリスニング・ポートにバインドできなくなるため問題が発生します。このため、サーバーを再起動する前に、構成ファイル内に構文やセマンティクスのエラーがないことを確認してください。 |
次の項では、Fusion Middleware Controlおよびopmnctl
を使用してOracle HTTP Serverを再起動する方法について説明します。
Fusion Middleware Controlを使用してOracle HTTP Serverを再起動するには、次の手順を実行します。
Oracle HTTP Serverのホームページに移動します。
「Oracle HTTP Server」メニューから「コントロール」を選択します。
「コントロール」メニューから「再起動」を選択します。
opmnctl
を使用してOracleインスタンス内のすべてのOracle HTTP Serverコンポーネントを再起動するには、次のコマンドを使用します。
opmnctl restartproc process-type=OHS
opmnctl
を使用して特定のOracle HTTP Serverコンポーネント(<ohs_name>
など)を再起動するには、次のコマンドを使用します。
opmnctl restartproc ias-component=<ohs_name>
起動プロセスの詳細情報を確認するには、次のようにコマンドにverboseオプションを含めます。
opmnctl verbose restartproc ias-component=<ohs_name>
Oracle HTTP Serverは、インストールするコンポーネントとして選択されていなければ、インストール中に自動的に作成されません。この項では、opmnctl
を使用してOracle HTTP Serverコンポーネントを作成する方法について説明します。Fusion Middleware Controlを使用してOracle HTTP Serverコンポーネントを作成することはできません。
opmnctl
を使用して新しいOracle HTTP Serverコンポーネントを作成するには、次のコマンドを使用します。
opmnctl createcomponent -componentType OHS -componentName name
たとえば、ohs2
という名前のOracle HTTP Serverインスタンスを作成するには、次のコマンドを使用します。
opmnctl createcomponent -componentType OHS -componentName ohs2
Oracle HTTP Serverコンポーネントを作成すると、ポートが自動的に割り当てられます。ただし、次のパラメータを使用すると、手動でポートを指定できます。
-listenPort
: HTTPリスニング・ポート
-sslPort
: HTTPS(SSL)リスニング・ポート
-proxyPort
: Oracle HTTP ServerがFusion Middleware Controlとの通信に内部的に使用するプロキシMBeanポート
Oracle HTTP Serverのサーバー・プロパティを設定する場合、Fusion Middleware Controlを使用するか、Oracle HTTP Serverの構成ファイルを直接編集します。opmnctl
コマンドを使用してサーバー・プロパティを指定することはできません。
Fusion Middleware Controlを使用してサーバー・プロパティを指定するには、次の手順を実行します。
「Oracle HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「サーバー構成」を選択します。「サーバー構成」ページが表示されます。
「ドキュメント・ルート」フィールドに、Webサイトから表示できるメイン・ドキュメント・ツリーを構成するドキュメント・ルート・ディレクトリを入力します。
「管理者の電子メール・アドレス」フィールドに、サーバーがクライアントに送信するエラー・メッセージに挿入する電子メール・アドレスを入力します。
「ディレクトリの索引」フィールドにディレクトリの索引を入力します。これは、クライアントがWebサイトに最初にアクセスしたときに表示されるメイン・ページ(indexページ)です。
「オペレーティング・システム・ユーザー」フィールドにユーザー名を入力します。
これは、リクエストの送信時およびリクエストへの応答時におけるサーバー用のユーザー名です。このユーザーに対して、ファイルへのアクセスや内部使用専用のプログラムの実行を許可する権限を付与しないでください。たとえば、Oracle HTTP Serverは、Oracle Portalからのリクエストを受信すると、このフィールドに定義されたユーザーとしてそのリクエストに応答します。このユーザーは、Oracle Portalのコンテンツにアクセスするための権限を保持している必要があります。ただし、企業秘密のコンテンツにアクセスする権限をこのユーザーに付与することは避けてください。
サーバー実行専用のユーザーを設定することをお薦めします。また、このユーザーはrootに設定しないことをお薦めします。
「オペレーティング・システム・グループ」フィールドにグループ名を入力します。これは、リクエストの送信時およびリクエストへの応答時におけるサーバー用のグループです。Oracle HTTP Serverに対して定義されるユーザーは、このグループのメンバーである必要があります。
サーバー実行専用のグループを設定することをお薦めします。また、このグループはrootとして設定しないことをお薦めします。
「モジュール」リージョンは、モジュールを有効化または無効化するために使用します。有効化または無効化できるモジュールは、mod_perl、mod_fcgiおよびmod_ossoの3つです。
mod_perlモジュールの構成手順は、「mod_perlモジュールの構成」を参照してください。
必要な場合は、「別名」表に別名を作成します。別名は、指定したディレクトリにマップされます。たとえば、あるグループでコンテンツ・ページの特定のセットを使用するため、そのコンテンツ・ページを含むディレクトリに別名を作成できます。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
サーバー・プロパティが保存され、「サーバー構成」ページに表示されます。
httpd.conf
ファイルを使用してサーバー・プロパティを指定するには、次の手順を実行します。
テキスト・エディタまたはFusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.conf
ファイルを開きます。(4.4.6項「Oracle HTTP Server構成ファイルの変更」を参照してください。)
ファイルのDocumentRoot
セクションに、Webサイトのメイン・コンテンツを格納するディレクトリを入力します。次に、構文例を示します。
DocumentRoot "${ORACLE_INSTANCE
}/config/${COMPONENT_TYPE
}/${COMPOENT_NAME
}/htdocs"
ファイルのServerAdmin
セクションに、管理者の電子メール・アドレスを入力します。これは、クライアント・ページに表示される電子メール・アドレスです。次に、構文例を示します。
ServerAdmin WebMaster@example.com
ファイルのDirectoryIndex
セクションに、ディレクトリの索引を入力します。これは、クライアントがWebサイトに最初にアクセスしたときに表示されるメイン・ページ(indexページ)です。次に、構文例を示します。
DirectoryIndex index.html index.html.var
ファイルのUser
およびGroup
セクションに、ユーザー名とグループを入力します。次に、構文例を示します。
User nobody Group nobody
ユーザー名は、リクエストの送信時およびリクエストへの応答時におけるサーバー用の名前です。このユーザーに対して、ファイルへのアクセスや内部使用専用のプログラムの実行を許可する権限を付与しないでください。たとえば、Oracle HTTP Serverは、Oracle Portalからのリクエストを受信すると、このフィールドに定義されたユーザーとしてそのリクエストに応答します。このユーザーは、Oracle Portalのコンテンツにアクセスするための権限を保持している必要があります。ただし、企業秘密のコンテンツにアクセスする権限をこのユーザーに付与することは避けてください。
サーバー実行専用のグループを設定することをお薦めします。また、このグループはrootとして設定しないことをお薦めします。Oracle HTTP Serverに対して定義されるユーザーは、このグループのメンバーである必要があります。
必要に応じて別名を作成します。別名は、指定したディレクトリにマップされます。たとえば、アイコンの特定のセットを使用するため、Webページ用のアイコンを含むディレクトリに別名を作成できます。次に、構文例を示します。
Alias /icons/ "${ORACLE_HOME
}/config/${COMPONENT_TYPE
}/${COMPONENT_NAME
}/icons/" <Directory "${ORACLE_HOME
}/content/${COMPONENT_TYPE
}/${COMPONENT_NAME
}/icons/"> Options MultiViews AllowOverride None Order allow, deny Allow from all </Directory>
ファイルを保存します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
この項の内容は、次のとおりです。
Secure Sockets Layer(SSL)は、インターネット上で安全にメッセージを送信するように設計されている暗号化通信プロトコルです。SSLは、アプリケーション層上のOracle HTTP ServerとTCP/IP層との間に位置し、クライアントによりセキュアな接続が行われたときに透過的に暗号化と復号化を処理します。
SSLの一般的な用途の1つは、ブラウザとWebサーバー間のWeb HTTP通信を保護することです。この場合、保護されていないHTTPの使用は排除されません。保護されたバージョンは、単純にHTTP over SSL(HTTPS)と呼ばれます。HTTPSではURLスキームとしてhttp://
ではなくhttps
://を使用するという点が異なります。
デフォルトでは、SSLリスニング・ポートはOracle HTTP Serverインストール中にデフォルトのウォレットを使用して構成されて有効化されます。ウォレットには、証明書リクエスト、証明書および秘密鍵など、資格証明が格納されます。
Oracle HTTP Serverとともに自動的にインストールされるデフォルトのウォレットは、テスト目的のみに使用されるものです。本番サーバーに対して実際のウォレットを作成する必要があります。デフォルトのウォレットは、ORACLE_INSTANCE
/config/OHS/<ohs_name>/keystores/default
ディレクトリ内にあります。新規のウォレットをこの場所に格納することも、ORACLE_INSTANCE
/config/OHS/<ohs_name>/ssl.conf
内のSSLWalletディレクティブを変更して実際のウォレットの場所を指し示すこともできます。
Oracle HTTP Serverでは、Multipurpose Internet Mail Extension(MIME)設定を使用してファイル・タイプ、エンコーディングおよび言語の解析を行います。Oracle HTTP ServerのMIME設定は、Fusion Middleware Controlでのみ指定できます。opmnctl
コマンドではMIME設定を指定できません。
「MIME構成」ページでは、次のタスクを実行できます。
MIMEタイプにより、指定されたコンテンツ・タイプに特定のファイル拡張子がマップされます。MIMEタイプは、拡張子を含むファイル名に使用されます。
Fusion Middleware Controlを使用してMIMEタイプを構成するには、次の手順を実行します。
「Oracle HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「MIME構成」を選択します。「MIME構成」ページが表示されます。
「MIME構成」リージョンの「行の追加」をクリックします。新規の空白行がリストに追加されます。
MIMEタイプを入力します。
ファイル拡張子を入力します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
MIME構成が保存され、「MIME構成」ページに表示されます。
MIMEエンコーディングにより、Oracle HTTP Serverでは、ファイル拡張子に基づいてファイル・タイプを判別できます。MIMEエンコーディングは、追加および削除できます。エンコーディング・ディレクティブにより、指定のエンコーディング・タイプにファイル拡張子をマップします。
「Oracle HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「MIME構成」を選択します。「MIME構成」ページが表示されます。
「MIMEエンコーディング」の横にあるプラス記号(+)をクリックして「MIMEエンコーディング」リージョンを開きます。
「MIMEエンコーディング」リージョンの「行の追加」をクリックします。新規の空白行がリストに追加されます。
MIMEエンコーディング(x-gzipなど)を入力します。
ファイル拡張子(.gxなど)を入力します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
MIME言語設定により、特定の言語にファイル拡張子がマップされます。このディレクティブは、一般的にコンテンツ・ネゴシエーションに使用されます(クライアントにより設定されたプリファレンスに対する一致度が最も高いドキュメントがOracle HTTP Serverから返されます)。
「Oracle HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「MIME構成」を選択します。「MIME構成」ページが表示されます。
「MIME言語」の横にあるプラス記号(+)をクリックして「MIME言語」リージョンを開きます。
「MIME言語」リージョンの「行の追加」をクリックします。新規の空白行がリストに追加されます。
MIME言語(en-USなど)を入力します。
ファイル拡張子(en-usなど)を入力します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
mod_perlモジュールは、Oracle HTTP ServerにPerlインタプリタを埋め込みます。これにより、起動時のオーバーヘッドが排除され、モジュールをPerlで記述できます。デフォルトでは、モジュールは無効です。
Fusion Middleware Controlを使用してmod_perlモジュールを有効化するには、次の手順を実行します。
「Oracle HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「mod_perl構成」を選択します。「mod_perl構成」ページが表示されます。
注意: mod_perlが有効化されていないと、「サーバー構成」ページにリダイレクトされます。mod_perlを選択して「適用」をクリックし、mod_perlを有効化します。確認ページが表示されたら、Oracle HTTP Serverを再起動します。これで、「mod_perl構成」ページに戻ります。 |
「スイッチ」フィールドにスイッチ情報を入力します。
「環境」フィールドに、スクリプトに渡す環境変数を入力します。
「必須」フィールドに必須スクリプト名を入力します。
「行の追加」をクリックして新規行を作成します。
「Perlの場所」表内の場所に対してmod_perlディレクティブを構成します。この場所により、リクエストのURIがこの場所に一致したときにサーバーが準拠する多数のルールが割り当てられます。
「ロケーション」フィールドに、PerlスクリプトのベースURIを入力します。mod_cgiスクリプトに/cgi-bin
を使用することが慣習的に広く受け入れられているように、mod_perlの下で稼働しているPerlスクリプトのベースURLとしては/perl
が慣習的に使用されています。
「オプション」フィールドにオプションを入力します。PerlOptions
ディレクティブは、使用するPerlインタプリタ・プールのクラスに対する制御を提供することにより、ファイングレイン構成を提供します。オプションを有効にするには、そのオプションの前にプラス記号(+)を付けます。無効化するには、前にマイナス記号(-)を付けます。
ヘッダーを送信する場合、「ヘッダーの送信」チェック・ボックスを選択します。PerlSendHeader
ディレクティブは、mod_perl 1.0の後方互換性のために使用します。これを有効化すると、スクリプトが起動されるたびにサーバーがHTTPヘッダーをブラウザに送信します。Non-Parsed-Headers(NPH)スクリプトの場合は、このオプションを無効にしてください。
「環境」フィールドに環境を入力します。PerlSetEnv
ディレクティブを使用すると、システム環境変数を指定してmod_perlハンドラに渡すことができます。
「レスポンス・ハンドラ」フィールドにレスポンス・ハンドラを入力します。PerlResponseHandler
ディレクティブは、ジョブを処理するコールバックをmod_perlに指示します。
「認証ハンドラ」フィールドに認証ハンドラを入力します。PerlAuthenHandler
ディレクティブは、ユーザーの識別資格証明を確認するためのハンドラを設定する場合に使用します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
mod_perlモジュール構成が保存され、「mod_perl構成」ページに表示されます。
注意: Fusion Middleware Controlを使用せずにmod_perl構成を手動で編集する場合は、すべてのディレクティブをmod_perl.conf ファイルの<IfModule mod_perl.c> ブロック内に定義する必要があります。このブロックの外で定義されたmod_perl関連ディレクティブは、無視される可能性があります。 |
mod_wl_ohsモジュールを使用すると、リクエストをOracle HTTP ServerからOracle WebLogic Serverにプロキシできます。
Fusion Middleware Controlを使用してmod_wl_ohsモジュールを構成するには、次の手順を実行します。
「Oracle HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「mod_wl_ohs構成」を選択します。mod_wl_ohs構成ページが表示されます。
WebLogicクラスタを使用する場合は、「WebLogicクラスタ」フィールドに、ロード・バランシングに使用できるWebLogic Serverを入力します。サーバーまたはクラスタのリストは、host:port
エントリのリストです。クラスタとシングル・サーバーを組み合せて指定した場合、このパラメータに対して返される動的リストには、クラスタ化されたサーバーのみが含まれます。
このモジュールは、すべての使用可能なサーバーの間の単純なラウンドロビンを実行します。このプロパティで指定したサーバー・リストが、サーバーとモジュールが保持する動的サーバー・リストの開始点となります。WebLogic Serverとモジュールは連携して、新規のクラスタ・メンバー、障害の発生したクラスタ・メンバーおよびリカバリ済のクラスタ・メンバーを使用して自動的にサーバー・リストを更新します。
動的クラスタ・リストの使用を無効にするには、「動的サーバー・リストをオン」フィールドを無効にします。このモジュールはCookie、URLエンコード済セッション、またはPOSTデータに格納されたセッションを含むHTTPリクエストを、最初にCookieを作成したクラスタ内のサーバーに送信します。
「WebLogicホスト」フィールドを使用して、HTTPリクエストの転送先のWebLogic Serverホスト(またはWebLogic Serverで定義されている仮想ホスト名)を入力します。WebLogicクラスタを使用する場合は、「WebLogicホスト」フィールドではなく「WebLogicクラスタ」を使用します。
「WebLogicポート」フィールドを使用して、WebLogic Serverホストがモジュール(または他のサーバー)からの接続リクエストをリスニングするポートを入力します。(モジュールとWebLogic Serverの間にSSLを使用する場合は、このパラメータをSSLリスニング・ポートに設定します。)
モジュールからプロキシされたロード・バランシング・リクエストに対して動的クラスタ・リストを使用する場合は、「動的サーバー・リストをオン」チェック・ボックスを選択します。オフに設定した場合、モジュールは動的クラスタ・リストを無視して、「WebLogicクラスタ」パラメータで指定された静的リストのみを使用します。通常は、このパラメータをオンに設定してください。
「エラー・ページ」フィールドを使用すると、WebサーバーがWebLogic Serverにリクエストを転送できないときに表示される独自のエラー・ページを作成できます。
「デバッグ」フィールドを使用して、デバッグ操作のために実行するロギング・タイプを指定します。デバッグ情報は、UNIXシステムでは/tmp/wlproxy.log
ファイルに、Windowsシステムではc:\TEMP\wlproxy.log
に書き込まれます。この場所とファイル名を上書きするには、「ログ・ファイル」パラメータを別のディレクトリおよびファイルに設定します。tmp
またはTEMP
ディレクトリに、サーバーにログインしているユーザーに割り当てられた書込み権限があることを確認してください。
「デバッグ」パラメータは、次のロギング・オプションのいずれかに設定できます。また、HFC、HTW、HFWおよびHTCオプションを組み合せて設定する場合は、HFC,HTW
のようにカンマで区切って入力します。
ON: 情報メッセージとエラー・メッセージがログに記録されます。
OFF: デバッグ情報はログに記録されません。
HFC: クライアントからのヘッダー、情報メッセージおよびエラー・メッセージがログに記録されます。
HTW: WebLogic Serverに送信されたヘッダー、情報メッセージおよびエラー・メッセージがログに記録されます。
HFW: WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージがログに記録されます。
HTC: クライアントに送信されたヘッダー、情報メッセージおよびエラー・メッセージがログに記録されます。
ERR: モジュール内のエラー・メッセージのみが出力されます。
ALL: クライアントとの間で送受信されたヘッダー、WebLogic Serverとの間で送受信されたヘッダー、情報メッセージおよびエラー・メッセージがログに記録されます。
「ログ・ファイル」フィールドを使用して、「デバッグ」パラメータがONに設定されているときに生成されるログ・ファイルのパスおよびファイル名を指定します。このディレクトリは、このパラメータを設定する前に作成する必要があります。
「WebLogic一時ディレクトリ」フィールドを使用して、wlproxy.log
の作成先のディレクトリを指定します。この場所に障害が発生した場合、Windowsではc:\temp
の下に、すべてのUNIXプラットフォームでは/tmp
の下にログ・ファイルが作成されます。
これにより、ポスト・データファイル用の_wl_proxy
ディレクトリの場所も指定されます。「WebLogic一時ディレクトリ」と「ログ・ファイル」の両方が設定されている場合、wlproxy.log
の場所は「ログ・ファイル」によって決まります。その場合も、_wl_proxy
ディレクトリの場所は「WebLogic一時ディレクトリ」によって決まります。
「パスまたはMIMEタイプの除外」フィールドを使用して、特定のリクエストをプロキシされないように除外します。このパラメータは、グローバルに定義することも、「ロケーション」タグ・レベルでローカルに定義することもできます。このプロパティをローカルに定義した場合、グローバルなプロパティが上書きされるのではなく、2つのパラメータの集合が定義されます。
「一致式」リージョンは、式の上書きを指定する場合に使用します。
MIMEタイプでプロキシする場合の例:
*.jsp WebLogicHost=myHost|paramName=value
次の構文を使用して「一致式」の新しいパラメータを定義することができます。
*.jsp PathPrepend=/test PathTrim=/foo
「ロケーション」リージョンは、場所の上書きを指定する場合に使用します。
「行の追加」をクリックして新規行を作成します。
次のディレクティブを有効にするベースURIを入力します。
この項で前述した定義を使用して、「WebLogicクラスタ」、「WebLogicホスト」および「WebLogicポート」フィールドに値を入力します。
RFCの仕様では、「パスの切捨て」フィールドのURLの汎用構文は次のとおりです。
[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...
「パスの切捨て」は、リクエストがWebLogic Serverに転送される前に、モジュールによって元のURLの{PATH}/{FILENAME}
部分から切り捨てられる文字列を指定します。たとえば、URLが次のとおりだとします。
http://myWeb.server.com/weblogic/foo
このURLは、解析のためにモジュールに渡されます。また「パスの切捨て」がURLをWebLogic Serverに渡す前に/weblogic
を切り捨てるように設定されている場合、WebLogic Serverには次のURLが転送されます。
http://myWeb.server.com:7002/foo
モジュールを使用して、リクエストをプロキシする既存のサード・パーティ・サーバーをWebLogic Serverに新しく変換する場合は、weblogic/foo
を含むように/foo
へのアプリケーション・パスを変更する必要があります。「パスの切捨て」と「パスの付加」を組み合せて使用すると、このパスを変更できます。
RFCの仕様では、「パスの付加」フィールドのURLの汎用構文は次のとおりです。
[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...
「パスの付加」は、「パスの切捨て」が切り捨てられてからリクエストがWebLogic Serverに転送されるまでの間に、モジュールによって元のURLの{PATH}
部分に付加されるパスを指定します。
ファイル名を付加する必要がある場合は、「パスの付加」ではなくDefaultFileNameモジュール・パラメータを使用してください。
この項で前述した定義を使用して、「ログ・ファイル」および「デバッグ」フィールドに値を入力します。
「行の追加」を再度クリックして、新しい行を保存します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
mod_wl_ohsモジュール構成が保存され、「mod_wl_ohs構成」ページに表示されます。
注意: Fusion Middleware Controlを使用せずにmod_wl_ohs構成設定を手動で編集する場合は、すべてのディレクティブをmod_wl_ohs.conf ファイルの<IfModule mod_weblogic.c> ブロック内に定義する必要があります。このブロックの外でディレクティブを定義した場合でもmod_wl_ohsは機能しますが、Fusion Middleware Controlの「mod_wl_ohs構成」ページが整合しない状態になることがあります。 |
mod_ossoモジュールは、サーバー構成プロパティ・ページで有効化します。詳細は、「Fusion Middleware Controlを使用したサーバー・プロパティの指定」を参照してください。
Fusion Middleware Controlを使用してOracle HTTP Serverの構成ファイルを変更するには、次の手順を実行します。
「HTTP Server」メニューから「管理」を選択します。
「管理」メニューから「詳細構成」を選択します。「詳細構成」ページが表示されます。
リストから構成ファイル(httpd.conf
ファイルなど)を選択します。
必要に応じてファイルを編集します。
設定を確認します。設定に問題がない場合、「適用」をクリックして変更を適用します。設定に問題がある場合、または変更を適用しない場合、「元に戻す」をクリックして元の設定に戻します。
Oracle HTTP Serverを再起動します。4.1.4項を参照してください。
ファイルが保存され、「詳細構成」ページに表示されます。
Optionsメソッドにより、クライアントは、Webサーバーでサポートされるメソッドを確認できます。これが有効の場合、HTTPレスポンス・ヘッダーのAllow
行に出力されます。
たとえば、次のようなリクエストを送信するとします。
---- Request ------- OPTIONS / HTTP/1.0 Content-Length: 0 Accept: */* Accept-Language: en-US User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32) Host: host123:80
この場合、Webサーバーから次のようなレスポンスが返されます。
---- Response --------
HTTP/1.1 200 OK
Date: Wed, 23 Apr 2008 20:20:49 GMT
Server: Oracle-Application-Server-11g/11.1.1.0.0 Oracle-HTTP-Server
Allow: GET,HEAD,POST,OPTIONS
Content-Length: 0
Connection: close
Content-Type: text/html
一部のソースでは、Optionsメソッドを公開することはセキュリティ上のリスクが低いと考えられます。悪質なクライアントは、このメソッドを使用してWebサーバーでサポートされるメソッドを判断できます。ただし、Webサーバーでサポートされるメソッドの数は限られているため、このメソッドを無効にしても悪質なクライアントに対して時間稼ぎとなるだけで、攻撃をやめさせることはできません。また、Optionsメソッドは、正当なクライアントによって使用されることもあります。
Oracle Fusion Middleware環境にOptionsメソッドを必要とするクライアントが存在しない場合、httpd.conf
ファイルに次の行を追加してこのメソッドを無効化できます。
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_METHOD} ^OPTIONS RewriteRule .* – [F] </IfModule>
この項では、opmnctl
を使用してOracle HTTP Serverコンポーネントを削除する方法について説明します。Fusion Middleware Controlを使用してOracle HTTP Serverコンポーネントを削除することはできません。
opmnctl
を使用してOracle HTTP Serverコンポーネントを削除するには、次のコマンドを使用します。
opmnctl deletecomponent -componentName name
たとえば、ohs2
という名前のOracle HTTP Serverコンポーネントを削除するには、次のコマンドを使用します。
opmnctl deletecomponent -componentName ohs2