WebLogic Server における Web サーバ プラグインの使い方
![]() |
![]() |
![]() |
![]() |
以下の節では、Apache、Netscape、および Microsoft IIS の Web サーバ プラグインをコンフィグレーションするために使用するパラメータを説明します。
各 Web サーバ プラグインのパラメータは、特殊なコンフィグレーション ファイルに入力します。このコンフィグレーション ファイルは各 Web サーバで別々の名前を持ち、ファイルの形式にはそれぞれの規則があります。詳細については、各プラグインの以下の節を参照してください。
注意 : パラメータでは大文字/小文字を区別します。
WebLogic Server ホストへの接続試行の間にプラグインがスリープする間隔 (秒)。この値は ConnectTimeoutSecs
より小さくする。HTTP 503/Service Unavailable
応答がクライアントに返されるまでにプラグインが接続を試行する回数は、ConnectTimeoutSecs を ConnectRetrySecs
で除算することで算出される。 再試行しないようにするには、ConnectRetrySecs
を ConnectTimeoutSecs
と同じ値に設定する。ただし、プラグインは最低 2 回、接続を試みる。エラー応答は ErrorPage パラメータを使用してカスタマイズできる。
プラグインが WebLogic Server ホストへの接続を試行する最大時間 (秒)。この値は ConnectRetrySecs より大きくする。接続できないまま、何回か再試行 (ConnectRetrySecs
の項を参照) しても成功せず、ConnectTimeoutSecs
の設定時間が切れた場合は、「HTTP 503/Service Unavailable
」の応答がクライアントに返される。 エラー応答は ErrorPage パラメータを使用してカスタマイズできる。
WebLogic Server Web アプリケーションの WebLogic Server セッション クッキー名を変更する場合、プラグインの CookieName
パラメータを同じ値に変更する必要がある。WebLogic セッション クッキー名は、WebLogic 固有のデプロイメント記述子の <session-descriptor> 要素で設定される。注意 : CookieName
パラメータは WLCookieName
に名前が変更されている。古いパラメータ名を使用し続けると、警告メッセージが表示される。
NSAPI、ISAPI、および Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
デバッグで実行されるロギングの種類を設定する。デバッグ情報は、UNIX システムでは /tmp/wlproxy.log
ファイル、Windows NT または 2000 システムでは c:\TEMP\wlproxy.log
ファイルに書き込まれる。この場所とファイル名は、WLLogFile パラメータを別のディレクトリおよびファイルに設定することでオーバーライドする。 サーバにログインしたユーザに tmp または TEMP ディレクトリで書き込みパーミッションが割り当てられているようにしなければならない。以下のロギング オプションのいずれかを設定する (HFC、HTW、HFW
、および HTC
オプションは、カンマ区切りで「HFC,HTW
」というように組み合わせて設定できる)。
NSAPI、ISAPI、および Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
特殊なクエリ パラメータ「__WebLogicBridgeConfig
」を有効にする。このパラメータは、プラグインからコンフィグレーション パラメータに関する詳細を取得するのに使用する。たとえば、DebugConfigInfo
を設定して「__WebLogicBridgeConfig
」を有効にし、クエリ文字列 ?__WebLogicBridgeConfig
を含むリクエストを送信すると、コンフィグレーション情報と実行時統計が収集され、その情報がブラウザに返される。この場合、プラグインは WebLogic Server に接続しない。 このパラメータはデバッグにのみ使用するもので、出力メッセージの形式はリリースによって異なる。セキュリティ上の理由から、プロダクション システムではこのパラメータを OFF にしておくことが望ましい。
NSAPI、ISAPI、および Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
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
ブロックでこのパラメータを定義する。
NSAPI、ISAPI、および Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
OFF
に設定すると、プラグインからプロキシされるリクエストをロードバランシングするために使用される動的クラスタ リストが無視され、WebLogicCluster パラメータで指定された静的リストのみが使用される。通常、このパラメータは ON
のままにする。
Web サーバがリクエストを WebLogic Server に転送できなかった場合に表示されるユーザ独自のエラー ページを作成できる。
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 は優先レベルに従って、最初に呼び出すフィルタを判別する。
ON
に設定されている状態で、サーバが WLIOTimeoutSecs (HungServerRecoverSecs の新しい名称) の時間内に応答しない場合、プラグインはフェイルオーバする。 OFF
に設定した場合、プラグインはフェイルオーバしない。Netscape Enterprise Server プラグインまたは Apache HTTP サーバを使用している場合は、異なる URL または MIME タイプごとにこのパラメータを別々に設定できる。
プラグインと WebLogic Server の間の接続のプールを有効化する。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
プラグインと WebLogic Server のアクティブではない接続が閉じられるまでの時間。このパラメータを有効にするには、KeepAliveEnabled
を true
(Apache プラグインを使用している場合は ON
) に設定する必要がある。このパラメータの値は、Administration Console の [サーバ|HTTP] タブで設定される [持続時間] フィールドの値、または KeepAliveSecs
属性を使用して server
MBean で設定される値以下でなければならない。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
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>
POST データの最大許容サイズ (バイト単位)。コンテキスト長が MaxPostSize
を超えた場合、プラグインによってエラー メッセージが返される。-1
に設定した場合、POST データのサイズはチェックされない。これは、POST データを使用してサーバを過負荷状態にしようとするサービス拒否攻撃を防ぐのに役立つ。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
WebLogicCluster パラメータまたは WebLogic Server から返される動的クラスタ リストにある WebLogic Server インスタンスで障害が発生した場合、その障害の発生したサーバは「bad」とマークされ、プラグインはリスト内の次のサーバに接続しようとする。MaxSkipTime
は、プラグインが「bad」とマークされたサーバへの接続を再試行するまでの時間を設定する。プラグインは、ユニークなリクエスト (クッキーのないリクエスト) を受信するたびにリスト内の新しいサーバに接続しようとする。
PathTrim の値が取り除かれた後、リクエストが WebLogic Server に転送される前に、元の URL の先頭にプラグインによって付加される文字列。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
リクエストが 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 を組み合わせて使用すると、このパスを変更できる。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
ON
に設定されている場合、Apache プラグインは (request_rec *)r->the request
を使用して WebLogic Server にクエリ文字列を渡す (詳細については Apache のマニュアルを参照)。この動作は以下の状況において望ましい。OFF
に設定されている場合、Apache プラグインは (request_rec *)r->args
を使用して WebLogic Server にクエリ文字列を渡す。
true
に設定した場合、プラグインでは、リクエストを WebLogic Server に転送する前に、リクエストの変換されたパス (Proxy-Path-Translated) の有無とパーミッションがチェックされる。ファイルが存在しない場合、「HTTP 404 File Not Found
」の応答がクライアントに返される。ファイルが存在するものの読み取れない場合は、「HTTP 403/Forbidden
」の応答がクライアントに返される。 どちらの場合も、Web サーバのデフォルトのメカニズムがこれらの応答を処理する。このオプションは、WebLogic Server Web アプリケーションのドキュメント ルートと Web サーバのドキュメント ルートが同じ場合に役立つ。 エラー応答は ErrorPage パラメータを使用してカスタマイズできる。
ロード バランシング用に使用できる WebLogic Server の一覧。サーバまたはクラスタ リストは、「ホスト : ポート」という形式のエントリのリスト。クラスタとクラスタ化されていないサーバが混在している場合、このパラメータに対して返される動的リストはクラスタ化されたサーバのみを返す。パラメータの指定方法と必要な形式はプラグインによって異なる。以下の例を参照。プラグインと WebLogic Server の間で SSL を使用する場合は、ポート番号を SSL リスン ポートに設定して (「SSL のコンフィグレーション」を参照)、SecureProxy パラメータを ON
に設定する。プラグインは、使用可能なサーバ間で単純なラウンドロビンを行う。このプロパティで指定するサーバ リストは、サーバおよびプラグインが保持する動的サーバ リストの最初の状態。新しく追加されたり、障害が発生したり、障害から回復したクラスタ メンバーがあると、WebLogic Server とプラグインは協力してサーバ リストを自動的に更新する。動的クラスタ リストを無効化するには、DynamicServerList パラメータを OFF
に設定する。 プラグインは、クッキーの含まれている HTTP リクエスト、URL エンコーディングされたセッションの含まれている HTTP リクエスト、または POST データにセッションを格納している HTTP リクエストをそのクッキーを元々作成したクラスタ内のサーバに転送する。
HTTP リクエストの転送先となる WebLogic Server ホスト (または、WebLogic Server で定義した仮想ホスト名)。WebLogic クラスタを使用している場合は、WebLogicHost
の代わりに WebLogicCluster
パラメータを使用する。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
WebLogic Server ホストがプラグイン (または他のサーバ) からの接続リクエストをリスンするポート (プラグインと WebLogic Server の間で SSL を使用する場合は、このパラメータを SSL リスン ポートに設定して (「SSL のコンフィグレーション」を参照)、SecureProxy パラメータを ON
に設定する)。WebLogic クラスタを使用している場合は、WebLogicPort
の代わりに WebLogicCluster パラメータを使用する。
ISAPI、Apache、および NSAPI プラグイン、HttpClusterServlet、および HttpProxyServlet
プロキシ コンフィグレーションで定義する場合、WebLogic Server がサーバの DNS 名と IP のマッピングを更新する間隔を秒単位で指定する。このパラメータは、WebLogic Server インスタンスを別の IP アドレスに移行したにもかかわらず、そのサーバの DNS 名の IP が同じになっている場合に使用できる。この場合、指定した更新間隔で DNS と IP のマッピングが更新される。
このパラメータを使用すると、パスまたは MIME タイプによって指定された特定のリクエストをプロキシ処理から除外できる。このパラメータは、Location タグ レベルでローカルに定義することも、グローバルに定義することもできる。このプロパティをローカルに定義した場合、グローバルなプロパティはオーバーライドされず、2 つのパラメータが両方とも定義される。
WlForwardPath
が「/」に設定されている場合は、すべてのリクエストがプロキシされる。特定の文字列で始まるリクエストを転送するには、WlForwardPath
をその文字列に設定する。 たとえば、WlForwardPath
を /weblogic
に設定すると、/weblogic
で始まるすべてのリクエストが Weblogic Server に転送される。このパラメータは、パスでプロキシを実行する場合に必要。カンマで文字列を区切れば、複数の文字列を設定できる。たとえば WlForwardPath=/weblogic,/bea
のように設定する。
WebLogic Server のリクエストへの応答に対するプラグインの待ち時間を定義する。プラグインは、サーバが応答するまで HungServerRecoverSecs
で指定した秒数だけ待ってから、サーバの応答なしを宣言して、次のサーバにフェイルオーバする。この値は、大きな値にしておく必要がある。サーブレットの処理時間より短くした場合は、予期しない結果が発生する場合がある。
プラグインがマルチホーム マシンで動作している WebLogic Server インスタンスに接続する場合のバインド先の IP アドレスを定義する。
Debug パラメータを参照。
Debug パラメータが ON
に設定されている場合に生成されるログ ファイルのパスとファイル名を指定する。このディレクトリはこのパラメータの設定前に作成する必要がある。
NSAPI、ISAPI、および Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
次の条件に一致する場合に、プラグインと WebLogic Server 間の SSL 通信を維持する場合は、このパラメータを ON
に設定する。WLProxySSL
を ON
に設定すると、WebLogic Server からクライアントに返されるロケーション ヘッダは HTTPS プロトコルを指定する。
NSAPI、ISAPI、および Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
Debug パラメータを参照。
wlproxy.log
を作成するディレクトリを指定する。ディレクトリが見つからない場合、Windows の場合は C:/temp
に、すべての Unix プラットフォームの場合は /tmp
にログ ファイルが作成される。ポスト データ ファイル用の _wl_proxy
ディレクトリの場所も指定する。 WLTempDir
および WLLogFile
を設定すると、wlproxy.log
の場所に関して WLLogFile
が優先する。ただし、WLTempDir
は _wl_proxy
ディレクトリの場所を特定する。
SGC (Server Gated Cryptography) 証明書は、WebLogic Server プロキシ プラグインで使用できません。SGC 以外の証明書は適切に機能するので、WebLogic Server とプラグインの間で SSL 通信が可能となります。
パラメータでは大文字/小文字を区別します。
表 6-2 Web サーバ プラグインの SSL パラメータ
このパラメータを ON
に設定すると、プラグインと WebLogic Server 間のすべての通信で SSL プロトコルの使用が有効になる。このパラメータを定義する前に、対応する WebLogic Server のポートを SSL プロトコル用にコンフィグレーションしておく必要がある。 このパラメータは、メイン サーバ用のコンフィグレーションと仮想ホスト用のコンフィグレーション (仮想ホストが定義されている場合) の 2 つのレベルで設定できる。仮想ホスト用のコンフィグレーションでこの設定がオーバーライドされない場合、メイン サーバ用のコンフィグレーションから SSL のコンフィグレーションを継承する。
NSAPI、ISAPI、Apache プラグイン、HttpClusterServlet、および HttpProxyServlet
プラグインに対する信頼された認証局によるデジタル証明書が含まれるファイルの名前。SecureProxy パラメータが ON
に設定されている場合はこのパラメータが必要。
このパラメータは、無効な 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 を設定する。
プラグインが接続するホストの名前が、プロキシ プラグインが接続する 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 値は以下のとおり。
クラスタまたは Web アプリケーションで以下の属性を設定して、プラグイン経由でアクセスされるアプリケーションのセキュリティをコンフィグレーションします。
WeblogicPluginEnabled
- HttpClusterServlet
からリクエストを受信するクラスタまたは Web アプリケーションでこの属性を true に設定すると、サーブレットは getRemoteAddr
の呼び出しに対して、Web サーバのアドレスを返す代わりに、独自の WL-Proxy-Client-IP
ヘッダからブラウザ クライアントのアドレスを返します。 WL-Proxy-Client-IP Enabled
- HttpClusterServlet
からリクエストを受信するクラスタまたは Web アプリケーションでこの属性を true に設定すると、プラグインは特別な WL-Proxy-Client-Cert
ヘッダでクライアント証明書をクラスタに送信します。ユーザ認証はプロキシ サーバ上で実行されます。
![]() |
![]() |
![]() |