Web サーバ プラグインの使用
![]() |
![]() |
![]() |
![]() |
以下の節では、Apache、Netscape、および Microsoft IIS の Web サーバ プラグインをコンフィグレーションするために使用するパラメータを説明します。
各 Web サーバ プラグインのパラメータは、特殊なコンフィグレーション ファイルに入力します。このコンフィグレーション ファイルは各 Web サーバで別々の名前を持ち、ファイルの形式にはそれぞれの規則があります。詳細については、各プラグインの以下の節を参照してください。
注意 : パラメータでは大文字/小文字を区別します。
HTTP リクエストの転送先となる WebLogic Server ホスト (または、WebLogic Server で定義した仮想ホスト名)。WebLogic クラスタを使用している場合は、WebLogicHost
の代わりに WebLogicCluster
パラメータを使用する。
WebLogic Server ホストがプラグイン (または他のサーバ) からの接続リクエストをリスンするポート (プラグインと WebLogic Server の間で SSL を使用する場合は、このパラメータを SSL リスン ポートに設定して (「SSL のコンフィグレーション」を参照)、SecureProxy パラメータを ON
に設定する)。WebLogic クラスタを使用している場合は、WebLogicPort
の代わりに WebLogicCluster パラメータを使用する。
ロード バランシング用に使用できる WebLogic Server の一覧。サーバまたはクラスタのリストは、「ホスト : ポート」という形式のエントリのリスト。クラスタと単一のサーバが混在している場合、このパラメータに対して返される動的リストではクラスタ化されたサーバのみが返される。パラメータの指定方法と必要な形式はプラグインによって異なる。以下の例を参照。プラグインと WebLogic Server の間で SSL を使用する場合は、ポート番号を SSL リスン ポートに設定して (「SSL のコンフィグレーション」を参照)、SecureProxy パラメータを ON
に設定する。プラグインは、使用可能なサーバ間で単純なラウンドロビンを行う。このプロパティで指定するサーバ リストは、サーバおよびプラグインが保持する動的サーバ リストの最初の状態。新しく追加されたり、障害が発生したり、障害から回復したクラスタ メンバーがあると、WebLogic Server とプラグインは連携して自動的にサーバ リストを更新する。動的クラスタ リストを無効化するには、DynamicServerList パラメータを OFF
に設定する。プラグインは、クッキーの含まれている HTTP リクエスト、URL エンコーディングされたセッションの含まれている HTTP リクエスト、または POST データにセッションを格納している HTTP リクエストをそのクッキーを元々作成したクラスタ内のサーバに転送する。
リクエストが WebLogic Server に転送される前に、元の URL の先頭からプラグインによって取り除かれる文字列。次に例を示す。http://myWeb.server.com/weblogic/foo
この URL が解析用にプラグインに渡され、その URL が WebLogic Server に渡される前に PathTrim
が /weblogic
を取り除くように設定されている場合、WebLogic Server に転送される URL は次のようになる。http://myWeb.server.com:7001/foo
既存のサードパーティ サーバを変換して、プラグインを使用している WebLogic Server にリクエストをプロキシする場合、アプリケーション パスを /foo
から weblogic/foo
を含むようにに変更する必要がある。PathTrim
および PathPrepend を組み合わせて使用すると、このパスを変更できる。
PathTrim の値が取り除かれた後、リクエストが WebLogic Server に転送される前に、元の URL の先頭にプラグインによって付加される文字列。
プラグインが WebLogic Server ホストへの接続を試行する最大時間 (秒)。この値は ConnectRetrySecs より大きくする。接続できないまま、何回か再試行 (ConnectRetrySecs
の項を参照) しても成功せず、ConnectTimeoutSecs
の設定時間が切れた場合は、「HTTP 503/Service Unavailable
」の応答がクライアントに返される。 エラー応答は ErrorPage パラメータを使用してカスタマイズできる。
WebLogic Server ホスト (またはクラスタ内のすべてのサーバ) への接続試行の間にプラグインがスリープする間隔 (秒)。この値は ConnectTimeoutSecs
より小さくする。HTTP 503/Service Unavailable
応答がクライアントに返されるまでにプラグインが接続を試行する回数は、ConnectTimeoutSecs を ConnectRetrySecs
で除算することで算出される。 再試行しないようにするには、ConnectRetrySecs
を ConnectTimeoutSecs
と同じ値に設定する。ただし、プラグインは最低 2 回、接続を試みる。エラー応答は ErrorPage パラメータを使用してカスタマイズできる。
デバッグで実行されるロギングの種類を設定する。デバッグ情報は、UNIX システムでは /tmp/wlproxy.log
ファイル、Windows NT または 2000 システムでは c:\TEMP\wlproxy.log
ファイルに書き込まれる。この位置とファイル名は、WLLogFile パラメータを別のディレクトリおよびファイルに設定することでオーバーライドする。サーバにログインしたユーザに必ず tmp または TEMP ディレクトリで書き込みパーミッションが割り当てられているようにする。以下のロギング オプションのいずれかを設定する (HFC、HTW、HFW
、および HTC
オプションは、カンマ区切りで「HFC,HTW
」というように組み合わせて設定できる)。
Debug パラメータを参照。
Debug パラメータが ON
に設定されている場合に生成されるログ ファイルのパスとファイル名を指定する。このディレクトリはこのパラメータの設定前に作成する必要がある。
プロキシ コンフィグレーションで定義する場合、WebLogic Server がサーバの DNS 名から IP へのマッピングを更新する間隔を秒単位で指定する。WebLogic Server インスタンスを別の IP アドレスに移行する場合に使用できるが、そのサーバの IP の DNS 名は変更されない。この場合、指定した間隔で DNS と IP のマッピングが更新される。
Debug パラメータを参照。
wlproxy.log
を作成するディレクトリを指定する。ディレクトリが見つからない場合、Windows の場合は C:/temp
に、あらゆる Unix プラットフォームの場合は /tmp
にログ ファイルが作成される。ポスト データ ファイル用の _wl_proxy
ディレクトリの場所も指定する。 WLTempDir
および WLLogFile
の両方が設定されている場合、wlproxy.log
の場所に関して WLLogFile
が優先する。ただし、WLTempDir
は _wl_proxy
ディレクトリの場所を特定する。
特殊なクエリ パラメータ「__WebLogicBridgeConfig
」を有効にする。このパラメータは、プラグインからコンフィグレーション パラメータに関する詳細を取得するのに使用する。たとえば、DebugConfigInfo
を設定して「__WebLogicBridgeConfig
」を有効にし、クエリ文字列 ?__WebLogicBridgeConfig
を含むリクエストを送信すると、コンフィグレーション情報と実行時統計が収集され、その情報がブラウザに返される。この場合、プラグインは WebLogic Server に接続しない。 このパラメータはデバッグにのみ使用するもので、出力メッセージの形式はリリースによって異なる。セキュリティ上の理由から、プロダクション システムではこのパラメータを OFF にしておくことが望ましい。
true
に設定した場合、プラグインでは、リクエストを WebLogic Server に転送する前に、リクエストの変換されたパス (Proxy-Path-Translated) の有無とパーミッションがチェックされる。ファイルが存在しない場合、「HTTP 404 File Not Found
」の応答がクライアントに返される。ファイルが存在するものの読み取れない場合は、「HTTP 403/Forbidden
」の応答がクライアントに返される。どちらの場合も、Web サーバのデフォルトのメカニズムがこれらの応答を処理する。このオプションは、WebLogic Server Web アプリケーションのドキュメント ルートと Web サーバのドキュメント ルートが同じ場合に役立つ。 エラー応答は ErrorPage パラメータを使用してカスタマイズできる。
Web サーバがリクエストを WebLogic Server に転送できなかった場合に表示されるユーザ独自のエラー ページを作成できる。
WebLogic Server のリクエストへの応答に対するプラグインの待ち時間を定義する。プラグインは、サーバが応答するまで HungServerRecoverSecs
で指定した秒数だけ待ってから、サーバの応答なしを宣言して、次のサーバにフェイルオーバする。この値は、大きな値にしておく必要がある。サーブレットの処理時間より短くした場合は、予期しない結果が発生する場合がある。
ON
に設定されている状態で、サーバが WLIOTimeoutSecs (HungServerRecoverSecs の新しい名称) の時間内に応答しない場合、プラグインはフェイルオーバする。 OFF
に設定した場合、プラグインはフェイルオーバしない。Netscape Enterprise Server プラグインまたは Apache HTTP サーバを使用している場合は、さまざまな URL または MIME タイプに対してこのパラメータを別々に設定できる。
WebLogic Server Web アプリケーションの WebLogic Server セッション クッキー名を変更する場合、プラグインの CookieName
パラメータを同じ値に変更する必要がある。WebLogic セッション クッキー名は、WebLogic 固有のデプロイメント記述子の <session-descriptor> 要素で設定される。
1. PathTrim パラメータで指定されたパスを取り除く。3. PathPrepend で指定された値を先頭に追加する。これによって、WebLogic Server からリダイレクトされなくなる。DefaultFileName
は、リクエストがプロキシされる WebLogic Server の Web アプリケーションのデフォルト ウェルカム ページに設定する。たとえば、DefaultFileName
を welcome.html
に設定した場合、HTTP リクエストが「http://somehost/weblogic
」であれば、「http://somehost/weblogic/welcome.html
」になる。このパラメータが機能するためには、リクエストが転送される全 Web アプリケーションで同じウェルカム ファイルを指定する必要がある。詳細については、「サーブレットの作成とコンフィグレーション」を参照してください。Apache を使用する場合の注意 : Stronghold バージョンまたは Raven バージョンを使用する場合は、IfModule
ブロックではなく Location
ブロックでこのパラメータを定義する。
POST データの最大許容サイズ (バイト単位)。コンテキスト長が MaxPostSize
を超えた場合、プラグインによってエラー メッセージが返される。-1
に設定した場合、POST データのサイズはチェックされない。これは、POST データを使用してサーバを過負荷状態にしようとするサービス拒否攻撃を防ぐのに役立つ。
MIME タイプによるプロキシを行う場合、MatchExpression
パラメータを使用して IfModule
ブロック内にファイル名のパターンを設定する。 <IfModule mod_weblogic.c>
MatchExpression *.jsp WebLogicHost=myHost|paramName=value
</IfModule><IfModule mod_weblogic.c>
MatchExpression /weblogic WebLogicHost=myHost|paramName=value
</IfModule>
ON に設定されている状態で、リクエストの POST データのサイズが 2048 バイトより大きい場合、POST データはまずディスク上の一時ファイルに読み込まれ、次に 8192 バイト単位で WebLogic Server に転送される。これにより、フェイルオーバの間も POST データが保持され、プライマリがダウンしても、必要なすべてのデータをセカンダリに複写することが可能になる。FileCaching が ON になっていると、データが WebServer と WebLogic の間でまだ転送中であっても、POST の進行状況を追跡するクライアントは転送が完了したものと認識してしまう。したがって、アップロード時にブラウザに進行状況バーを表示して、WebLogic Server で実際にデータが使用可能になったタイミングを示したい場合は、FileCaching を ON にしないことも検討すること。OFF に設定されている状態で、リクエストの POST データのサイズが 2048 バイトより大きい場合、リクエストを処理する WebLogic Server クラスタ メンバーが特定されるまで POST データの読み込みが延期される。その後、プラグインが POST データを読み込み、ただちに 8192 バイト単位で WebLogic Server に送信する。FileCaching を OFF にするとフェイルオーバが制限される。リクエストの処理中に WebLogic Server プライマリ サーバがダウンした場合、すでにプライマリに送信された POST データはセカンダリに複写できない。なお、POST データのサイズが 2048 バイト以下の場合は、FileCaching の設定に関係なくプラグインがデータをメモリに読み込み、フェイルオーバ時にセカンダリへの複写が必要であればこれを使用する。
このパラメータの値は、0 (低)、1 (中)、および 2 (高)。デフォルト値は 2。この優先順位は、iisforward.ini ファイルに置かれる必要がある。この優先順位を使用して、IIS の iisforward.dll フィルタの優先レベルが設定される。受信リクエストが複数のフィルタに一致する場合に、IIS は優先レベルに従って、最初に呼び出すフィルタを判別する。
このパラメータを使用すると、特定のリクエストをプロキシ処理から除外できる。 このパラメータは、Location タグ レベルでローカルに定義することも、グローバルに定義することもできる。このプロパティをローカルに定義した場合、グローバルなプロパティはオーバーライドされず、2 つのパラメータが両方とも定義される。
WlForwardPath
が「/」に設定されている場合は、すべてのリクエストがプロキシされる。特定の文字列で始まるリクエストを転送するには、WlForwardPath
をその文字列に設定する。たとえば、WlForwardPath
を /weblogic
に設定すると、/weblogic
で始まるすべてのリクエストが Weblogic Server に転送される。このパラメータは、パスでプロキシを実行する場合に必要。カンマで文字列を区切れば、複数の文字列を設定できる。たとえば WlForwardPath=/weblogic,/bea
のように設定する。
プラグインと WebLogic Server の間のアクティブではない接続が閉じられるまでの時間。このパラメータを有効にするには、KeepAliveEnabled
を true
(Apache プラグインを使用している場合は ON
) に設定する必要がある。このパラメータの値は、Administration Console の [サーバ|HTTP] タブで設定される [持続時間] フィールドの値、または KeepAliveSecs
属性を使用して server
MBean で設定される値以下でなければならない。
プラグインと WebLogic Server の間の接続のプールを有効化する。
ON
に設定されている場合、Apache プラグインは (request_rec *)r->the request
を使用して WebLogic Server にクエリ文字列を渡す (詳細については Apache のマニュアルを参照)。この動作は以下の状況において望ましい。OFF
に設定されている場合、Apache プラグインは (request_rec *)r->args
を使用して WebLogic Server にクエリ文字列を渡す。
WebLogicCluster パラメータまたは WebLogic Server から返される動的クラスタ リストにある WebLogic Server で障害が発生した場合、その障害の発生したサーバは「bad」とマークされ、プラグインはリスト内の次のサーバに接続しようとする。MaxSkips
には、プラグインが「bad」とマークされたサーバへの接続を再試行するまでの時間を設定する。プラグインは、ユニークなリクエスト (クッキーのないリクエスト) を受信するたびにリスト内の新しいサーバに接続しようとする。
OFF
に設定すると、プラグインからプロキシされるリクエストをロード バランシングするために使用される動的クラスタ リストが無視され、WebLogicCluster パラメータで指定された静的リストのみが使用される。通常、このパラメータは ON
のままにする。
次の条件に一致する場合に、プラグインと WebLogic Server 間の SSL 通信を維持する場合は、このパラメータを ON
に設定する。WLProxySSL
を ON
に設定すると、WebLogic Server からクライアントに返されるロケーション ヘッダでは HTTPS プロトコルが指定される。
プラグインがマルチホーム マシンで動作している WebLogic Server インスタンスに接続する場合のバインド先の IP アドレスを定義する。
注意 : SCG 証明書は、WebLogic Server プロキシ プラグインで使用できません。SCG 以外の証明書は適切に機能し、その場合は WebLogic Server とプラグインの間で SSL 通信を行えます。
注意 : パラメータでは大文字/小文字を区別します。
このパラメータは、無効な V3 CA 証明書が含まれている証明書チェーンが拒否されないという、SSL 証明書検証に関して存在していたセキュリティ ホールをふさぐ。このセキュリティ ホールのため、有効な CA 証明書をルートとし、無効な中間 CA 証明書を含む証明書チェーンが信頼性を持つことができた。X509 V3 CA 証明書では、CA かつ重大 (クリティカル) としてマークされている基本制約拡張が含まれている必要がある。この確認は、中間 CA 証明書に見せかけた非 CA 証明書に対して保護機能を持つ。制約の適用は完全に無効にされるので、望ましくない。市販の CA 証明書のほとんどは、デフォルト設定の STRONG で動作する。デフォルト。V3 CA 証明書に関する基本制約がチェックされ、証明書が CA 証明書であるかどうか検証される。EnforceBasicConstraints=strong
このレベルでは STRONG レベルと同じチェックが行われるが、CA 証明書に関する基本制約が「重大 (クリティカル)」としてマークされていなければならないことを指定した IETF RFC 2459 も厳密に適用される。市販の CA 証明書の多くが RFC 2459 に準拠しておらず、基本制約を重大としてマークしていないことから、これがデフォルト設定にはなっていない。RFC 2459 に厳密に準拠する場合は、strict を設定する。
このパラメータを ON
に設定すると、プラグインと WebLogic Server 間のすべての通信で SSL プロトコルの使用が有効になる。このパラメータを定義する前に、対応する WebLogic Server のポートを SSL プロトコル用にコンフィグレーションしておく必要がある。 このパラメータは、メイン サーバ用のコンフィグレーションと仮想ホスト用のコンフィグレーション (仮想ホストが定義されている場合) の 2 つのレベルで設定できる。仮想ホスト用のコンフィグレーションでこの設定がオーバーライドされない場合、メイン サーバ用のコンフィグレーションから SSL のコンフィグレーションを継承する。
プラグインに対する信頼された認証局によるデジタル証明書が含まれるファイルの名前。SecureProxy パラメータが ON
に設定されている場合はこのパラメータが必須。
プラグインが接続するホストの名前が、プロキシ プラグインが接続する WebLogic Server のデジタル証明書にある Subject Distinguished Name フィールドに一致する必要があるかどうかを指定する。 プラグインで SecureProxy=ON および RequireSSLHostMatch=true に設定する場合、ListenAddress プロパティに指定する値を、証明書に指定されたホスト名値に一致させる必要がある。WebLogic Server の ExternalDNSName プロパティを使用し、プラグインで SecureProxy=ON および RequireSSLHostMatch=true に設定する場合、ExternalDNSName プロパティに指定する値を、証明書に指定されたホスト名値に厳密に一致させる必要がある。
ASN.1 Object ID (OID) を指定する。ホスト名の比較に使用されるピア デジタル証明書内の Subject Distinguished Name フィールドを示す。デフォルトでは、Subject Distinguished Name の CommonName
フィールドに対応する。一般的な OID 値は以下のとおり。
![]() |
![]() |
![]() |