5 Oracle WebLogic Serverプロキシ・プラグインのパラメータ
Oracle HTTP Serverを構成するために使用できるパラメータについて学習します。
ノート:
WLSプロキシ・プラグインのパラメータは、Webサーバーごとに名前と書式が異なる専用の構成ファイルに指定する必要があります。Oracle HTTP Serverのプロキシ・プラグインに固有の構成ファイルの詳細は、Oracle HTTP Server用プラグインの構成を参照してください。- Oracle WebLogic Serverプロキシ・プラグインの一般パラメータ
WLSプロキシ・プラグインの一般的なパラメータの名前では、大/小文字が区別されます。 - Oracle WebLogic Serverプロキシ・プラグインのSSLパラメータ
WLSプロキシ・プラグインのSSLパラメータの名前では、大/小文字が区別されます。
Oracle WebLogic Serverプロキシ・プラグインの一般パラメータ
WLSプロキシ・プラグインの一般的なパラメータの名前では、大/小文字が区別されます。
この項には次のトピックが含まれます:
- ConnectRetrySecs
- ConnectTimeoutSecs
- DebugConfigInfo
- DefaultFileName
- DynamicServerList
- ErrorPage
- FileCaching
- Idempotent
- KeepAliveEnabled
- KeepAliveSecs
- MatchExpression
- MaxPostSize
- MaxSkipTime
- PathPrepend
- PathTrim
- QueryFromRequest
- RoutingAlgorithm
- WebLogicCluster
- WebLogicHost
- WebLogicPort
- WeightUpdateInterval
- WLCookieName
- WLDNSRefreshInterval
- WLExcludePathOrMimeType
- WLForwardUriUnparsed
- WLIOTimeoutSecs
- WLLocalIP
- WLMaxWebSocketClients
- WLProtocol
- WLProxyPassThrough
- WLProxySSL
- WLProxySSLPassThrough
- WLRetryOnTimeout
- WLRetryAfterDroppedConnection
- WLServerInitiatedFailover
- WLSocketTimeoutSecs
- WLSRequest
- WLTempDir
ConnectRetrySecs
デフォルト: 2
再試行しないようにするには、ConnectRetrySecsをConnectTimeoutSecsと同じ値に設定します。ただし、プロキシ・プラグインは、少なくとも2回接続を試行します。
エラー・レスポンスは、ErrorPageパラメータを使用してカスタマイズできます。
ConnectTimeoutSecs
デフォルト: 10
プロキシ・プラグインがOracle WebLogic Serverホストへの接続を試行する最大時間(秒)。この値はConnectRetrySecsより大きくしてください。指定どおりに再試行されたが(ConnectRetrySecsを参照)、接続に成功せずにConnectTimeoutSecsの秒数が経過した場合は、クライアントにHTTP 503/Service Unavailableというレスポンスが送信されます。
エラー・レスポンスは、ErrorPageパラメータを使用してカスタマイズできます。
DebugConfigInfo
デフォルト: OFF
特殊な問合せパラメータ__WebLogicBridgeConfigを有効にします。プロキシ・プラグインから構成パラメータの詳細を取得するために使用します。
たとえば、DebugConfigInfoを設定して__WebLogicBridgeConfigを有効にし、問合せ文字列__WebLogicBridgeConfigを含むリクエストを送信すると、プロキシ・プラグインによって構成情報と実行時統計が収集され、情報がブラウザに返されます。この場合、プロキシ・プラグインはOracle WebLogic Serverに接続しません。
このパラメータはデバッグにのみ使用するもので、出力メッセージの形式はリリースによって異なります。セキュリティのため、本番システムではこのパラメータをOFFにしてください。
DefaultFileName
デフォルト: none
URIが"/"の場合、プロキシ・プラグインは次のステップを実行します:
PathTrimパラメータで指定されたパスを取り除きます。DefaultFileNameの値を末尾に付加します。PathPrependで指定された値を先頭に付加します。
これによって、Oracle WebLogic Serverからリダイレクトされなくなります。
DefaultFileNameを、リクエストがプロキシされるOracle WebLogic ServerのWebアプリケーションのデフォルトのようこそページに設定します。たとえば、DefaultFileNameをwelcome.htmlに設定した場合は、http://somehost/weblogicというHTTPリクエストは、http://somehost/weblogic/welcome.htmlになります。このパラメータが機能するためには、リクエストが転送されるすべてのWebアプリケーションで同じウェルカム・ファイルを指定する必要があります。『Oracle Fusion Middleware Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のWelcomeファイルの構成に関する項を参照してください。
Apacheユーザー向けのノート: StrongholdバージョンまたはRavenバージョンを使用する場合は、このパラメータをIfModuleブロック内ではなくLocationブロック内で定義します。
DynamicServerList
デフォルト: ON
OFFに設定すると、プロキシ・プラグインはプロキシ・プラグインからプロキシされたロード・バランシング・リクエストに使用される動的クラスタ・リストを無視し、WebLogicClusterパラメータで指定された静的リストのみを使用します。通常は、このパラメータをONに設定したままにしてください。
このパラメータをOFFに設定した場合は、次のような影響があります。
-
静的リスト内の1つ以上のサーバーで障害が発生した場合、プロキシ・プラグインは、停止したサーバーへの接続を試行して時間を浪費し、パフォーマンスが低下する可能性があります。
-
新しいサーバーをクラスタに追加する場合、このパラメータを再定義しないかぎり、プロキシ・プラグインはリクエストを新しいサーバーにプロキシできません。Oracle WebLogic Serverは、新しいサーバーがクラスタの一部になると、これらのサーバーを動的サーバー・リストへ自動的に追加します。
ErrorPage
デフォルト: none
WebサーバーからOracle WebLogic Serverにリクエストを転送できなかった場合に表示される、独自のエラー・ページを作成できます。
バックエンド・サーバーがHTTP 503/Service Unavailableレスポンスを返し、フェイルオーバー用のサーバーがない場合、プロキシ・プラグインはエラー・ページにリダイレクトされます。
FileCaching
デフォルト: ON
ONに設定すると、リクエストのPOSTデータのサイズが2048バイトより大きい場合に、POSTデータが、まずディスク上の一時ファイルに読み込まれ、次に8192バイトのチャンク単位でOracle WebLogic Serverに転送されます。これにより、フェイルオーバーの間もPOSTデータが保持され、プライマリがダウンしても、必要なすべてのデータをセカンダリにコピーすることができます。
FileCachingがONになっていると、WebサーバーとWebLogicとの間でデータがまだ転送中でも、POSTの進行状況を追跡するクライアントは、転送が完了したと認識します。したがって、Oracle WebLogic Server上で実際にデータが使用可能になった時点で、アップロード中にブラウザが表示する進行状況バーにそのことを反映させる場合は、FileCachingをONにしない方がよいです。
OFFに設定され、リクエスト内のPOSTデータのサイズが2048バイトを超える場合、リクエストを処理するためにOracle WebLogic Serverクラスタ・メンバーが識別されるまで、POSTデータの読取りは延期されます。その後、プロキシ・プラグインはPOSTデータを読み取り、ただちに8192バイトのチャンク単位でWebLogic Serverに送信します。
FileCachingをOFFすると、フェイルオーバーが制限されます。リクエストの処理中にOracle WebLogic Serverプライマリ・サーバーが停止した場合、すでにプライマリに送信されたPOSTデータはセカンダリに繰り返すことはできません。
最後に、FileCachingの設定方法に関係なく、POSTデータのサイズが2048バイト以下の場合、プロキシ・プラグインはデータをメモリーに読み込み、フェイルオーバー中に必要に応じてセカンダリに繰り返すために使用します。
- POSTデータ・ファイルの場所
FileCachingパラメータがONに設定され、リクエスト内のPOSTデータのサイズが2048バイトを超える場合、POSTデータはまずディスク上の一時ファイルに読み込まれ、次に8192バイトのチャンクでOracle WebLogic Serverに転送されます。
POSTデータ・ファイルの場所
/tmp/_wl_proxyの下にあります。Windowsの場合は、次の場所にあります(WLTempDirを指定していない場合)。
- 環境変数
TMP - 環境変数
TEMP C:\Temp
親トピック: FileCaching
Idempotent
デフォルト: ON
適用対象: Oracle HTTP Server、Apache HTTP Server、Microsoft IIS
WebLogicプラグイン14.1.2.0.0より前は、IdempotentパラメータをONに設定したとき、バックエンド・サーバーがWLIOTimeoutSecs以内に応答しない場合、メソッドがIdempotentの場合にプロキシ・プラグインがフェイルオーバーします。ただし、Oracle HTTP ServerおよびApache HTTP Serverに対してWebLogicプラグインのバージョン14.1.2以降では、バックエンド・サーバーがWLIOTimeoutSecsの時間以内に応答しないと、フェイルオーバーがWLRetryOnTimeoutパラメータによって制御されます。
また、IdempotentがONに設定され、サーバーがREAD_ERROR_FROM_SERVERなどのエラーで応答する場合も、プロキシ・プラグインはフェイルオーバーします。
IdempotentがOFFに設定されている場合、プロキシ・プラグインはフェイルオーバーしません。Apache HTTP Serverを使用している場合は、複数のURLまたはMIMEタイプに対してこのパラメータを別々に設定できます。
Idempotentが有効なのは、リクエストがOracle WebLogic Serverに正常に送信され、プロキシ・プラグインがバックエンド・サーバーからのレスポンスを待機中の場合のみです。
POSTリクエストは、Idempotentとマークされていても再試行されません。
KeepAliveEnabled
デフォルト: ON
このディレクティブにより、プロキシ・プラグインとOracle WebLogic Serverの間の接続のプーリングが可能になります。有効値はONおよびOFFです。
Apache prefork mpmの使用中に、Apache Webサーバーが失敗する可能性があります。prefork mpmの使用時にはKeepAliveEnabledをOFFに設定するか、Apacheでworker mpmを使用します。
ノート:
KeepAliveEnabledとHTTP/2の両方がバックエンド接続用に構成されている場合、次のメッセージが生成されます:
HTTP/2接続が有効になっているため、KeepAliveEnabledオプションは無視されます
KeepAliveSecs
デフォルト: 20
プロキシ・プラグインとOracle WebLogic Serverの間の非アクティブな接続が閉じられるまでの時間。このパラメータを有効にするには、KeepAliveEnabledをtrue (Apache HTTP Serverを使用している場合はON)に設定する必要があります。
このパラメータの値は、リモート・コンソールの「サーバー」 > 「プロトコル」 > 「HTTP」ページに設定されている「期間」フィールドの値以下、またはサーバーMBeanでKeepAliveSecs属性を使用して設定する値以下にする必要があります。
MatchExpression
デフォルト: none
このパラメータを使用すると、既存のパラメータ値の変更や、特定の構成に対する新しいパラメータの追加が可能です。
MatchExpressionパラメータは、*と?の正規表現のみをサポートします。
-
0以上の文字と一致する
* -
1つの文字と完全に一致する
?
このパラメータは、次のような2つのシナリオについて構成できます。
MIMEタイプによるプロキシ:
特定のMIMEタイプに対して他のパラメータを設定するには、次の形式でこのパラメータを使用します。
構文:
MatchExpression <file_extension> <param=value>|<param-value>|…
たとえば、次の構成では、*.jspはmyHost:8080にプロキシされます。
<IfModule weblogic_module> MatchExpression *.jsp WebLogicHost=myHost|WebLogicPort=8080 </IfModule>
パスによるプロキシ:
また、特定のパスに対して他のパラメータを設定するには、次の形式でこのパラメータを使用します。
構文:
MatchExpression <path> <param=value>|<param-value>|…
たとえば、次の構成では、/weblogicで始まるURIはmyHost:9090にプロキシされます。
<IfModule weblogic_module> MatchExpression /weblogic WebLogicHost=myHost|WebLogicPort=9090 </IfModule>
前述のとおり、MatchExpressionを使用してパラメータ値をオーバーライドすることもできます。新しいパラメータ(構成内で使用されていないパラメータ)の定義に使用することも可能です。
たとえば、次のような構成では、すべてのリクエストがmyHost:8080にプロキシされます。タイプjpgに一致するURIはmyHost:8080/imagesにプロキシされ、その他のURIはmyHost:8080にプロキシされます。
<IfModule weblogic_module> WLSRequest On WebLogicHost myHost WebLogicPort 8080 MatchExpression *.jpg PathPrepend=/images </IfModule>
MaxPostSize
デフォルト: 0
POSTデータの最大許容サイズ(バイト単位)。コンテンツ長がMaxPostSizeを超えている場合は、プロキシ・プラグインによってエラー・メッセージが返されます。0に設定した場合、POSTデータのサイズはチェックされません。これは、POSTデータを使用してサーバーを過負荷状態にしようとするサービス拒否攻撃を防ぐために役立ちます。
MaxSkipTime
デフォルト: 10
WebLogicClusterパラメータまたはOracle WebLogic Serverから返された動的クラスタ・リストのいずれかにリストされているOracle WebLogic Serverで障害が発生した場合、障害が発生したサーバーは"bad"とマークされ、プロキシ・プラグインはリスト内の次のサーバーへの接続を試行します。
MaxSkipTimeは、プロキシ・プラグインが"bad"とマークされたサーバーを再試行するまでの時間を設定します。プロキシ・プラグインは、一意のリクエスト(Cookieのないリクエスト)を受信するたびに、リスト内の新しいサーバーに接続しようとします。
ノート:
最小接続数順に重み付けされたルーティング・アルゴリズムを選択した場合は、次に示すように、サーバー数にConnectRetrySecsを掛けた数をMaxSkipTimeの値にすることをお薦めします。MaxSkipTime = (no of servers) * ConnectRetrySecs
PathPrepend
デフォルト: null
RFC仕様のとおり、URLの一般的な構文は次のようになります。
[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...PathPrependは、PathTrimの値が切り捨てられてからリクエストがOracle WebLogic Serverに転送されるまでの間に、プロキシ・プラグインによって元のURLの{PATH}部分の先頭に付加されるパスを指定します。
ファイル名を付加する必要がある場合は、PathPrependではなくDefaultFileNameパラメータを使用してください。
PathTrim
デフォルト: null
RFC仕様のとおり、URLの一般的な構文は次のようになります。
[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...PathTrimは、リクエストがOracle WebLogic Serverに転送される前にプロキシ・プラグインによって元のURLの{PATH}/{FILENAME}部分から切り捨てられる文字列を指定します。たとえば、http://myWeb.server.com/weblogic/fooというURLが解析のためにプロキシ・プラグインに渡され、URLをOracle WebLogic Serverに渡す前に/weblogicを削除するようにPathTrimが設定されている場合は、Oracle WebLogic Serverに転送されるURLはhttp://myWeb.server.com:7001/fooです。
プロキシ・プラグインを使用してOracle WebLogic Serverへのリクエストをプロキシするように既存のサードパーティ・サーバーを新しく変換する場合は、アプリケーション・パスを/fooに変更し、weblogic/fooを含める必要があります。PathTrimとPathPrependを併用することで、このパスを変更できます。
<Location>タグ内にPathTrimパラメータを構成します。
PathTrimパラメータが<Location>タグ内に構成されていないため、次の構成は誤りです:
<Location /weblogic>
WLSRequest On
</Location>
<IfModule mod_weblogic.c>
WebLogicHost localhost
WebLogicPort 7001
PathTrim /weblogic
</IfModule>
正しい構成は次のとおりです。
<Location /weblogic>
WLSRequest On
PathTrim /weblogic
</Location>
<Location>ディレクティブは、囲まれたディレクティブの範囲をURLによって制限します。「Apache Location Directive」を参照してください。
QueryFromRequest
デフォルト: OFF
ONに設定すると、Apache HTTPサーバーで次のコマンドが使用されます。
(request_rec *)r->the_request
問合せ文字列をOracle WebLogic Serverに渡します。(詳細は、Apacheドキュメントを参照してください。)この動作は、Netscapeバージョン4.xブラウザで、問合せ文字列にスペースのあるリクエストを行う場合に役立ちます。
OFFに設定すると、Apache HTTP Serverは(request_rec *)r->argsを使用して問合せ文字列をOracle WebLogic Serverに渡します。
RoutingAlgorithm
新しいリクエストをOracle WebLogic Serverバックエンド・サーバーにルーティングする方法を指定します。
デフォルト: Round-Robin
サポートされる値:
Round-Robin- 新しいリクエストをクラスタ内の次のサーバーにルーティングするには、このアルゴリズムを選択します。Weighted-Least-Connection- 最小接続数順に重み付けされたアルゴリズムに基づいたインテリジェント・ロード・バランシングに従って新しいリクエストをルーティングするには、このアルゴリズムを選択します。このアルゴリズムは、WebLogicサーバーによって提供されるヘルス・スコアで決まるサーバーの現在の負荷処理能力に基づいて次のサーバーを選択します。詳細は、インテリジェント・ロード・バランシングのサポートを参照してください。
サンプル構成:
<Location /app>
WLSRequest On
WebLogicCluster <Weblogic Managed Server 1>,<Weblogic Managed Server 2>,<Weblogic Managed Server 3> ...
RoutingAlgorithm Weighted-Least-Connection
</Location>ノート:
WeightUpdateIntervalディレクティブを構成して、WebLogicサーバー・プロキシ・プラグインがバックエンド・サーバーにヘルス・スコアをリクエストする頻度を指定します。
WebLogicCluster
Oracle WebLogic Serverのクラスタまたはクラスタ化されていない複数のサーバーにプロキシする場合に必要です。
デフォルト: none
WebLogicClusterパラメータは、クラスタ化されたバックエンド・サーバーのリストにプロキシしたり、クラスタ化されていない管理対象サーバー・インスタンス間でのロード・バランシングを実行するために必要となります。
ロード・バランシングに使用可能なOracle WebLogic Serverのリスト。サーバーまたはクラスタのリストは、host:portエントリのリストです。クラスタとシングル・サーバーを組み合せて指定した場合、このパラメータに対して返される動的リストには、クラスタ化されたサーバーのみが含まれます。
Oracle HTTP Serverのこのパラメータの値を指定する構文は、Oracle HTTP Server用プラグインの構成を参照してください。
プロキシ・プラグインとOracle WebLogic Serverの間にSSLを使用している場合は、ポート番号をSSLリスニング・ポートに設定し、SecureProxyパラメータをONに設定します。
プロキシ・プラグインは、使用可能なすべてのサーバー間で単純なラウンドロビンを実行します。このプロパティで指定したサーバー・リストが、サーバーとプロキシ・プラグインが保持する動的サーバー・リストの開始点となります。Oracle WebLogic Serverとプロキシ・プラグインは連携して動作し、新しいクラスタ・メンバー、障害が発生したクラスタ・メンバーおよびリカバリされたクラスタ・メンバーでサーバー・リストを自動的に更新します。
動的クラスタ・リストの使用を無効にするには、DynamicServerListパラメータをOFFに設定します。
プロキシ・プラグインは、Cookie、URLでエンコードされたセッションまたはPOSTデータに格納されているセッションを含むHTTPリクエストを、Cookieを作成したクラスタ内のサーバーに転送します。
WebLogicHost
単一のOracle WebLogic Serverにプロキシする場合は必須です。
デフォルト: none
HTTPリクエストが転送される、Oracle WebLogic Serverホスト(またはOracle WebLogic Serverに定義されている仮想ホスト名)。Oracle WebLogicクラスタを使用している場合は、WebLogicHostではなくWebLogicClusterパラメータを使用します。
WebLogicPort
単一のOracle WebLogic Serverにプロキシする場合は必須です。
デフォルト: none
Oracle WebLogic Serverホストがプロキシ・プラグイン(または他のサーバー)からの接続リクエストをリスニングするポート。(プロキシ・プラグインとOracle WebLogic Serverの間にSSLを使用している場合は、このパラメータをSSLリスニング・ポートに設定し、SecureProxyパラメータをONに設定します)。
Oracle WebLogic Clusterを使用している場合は、WebLogicPortのかわりにWebLogicClusterパラメータを使用します。
WeightUpdateInterval
Oracle WebLogic Serverプロキシ・プラグインが、サーバーの重み付け(新しいトラフィックに対するサーバーの処理能力を判別する)の更新をリクエストする間隔(秒)を指定します。
デフォルト: 1
インテリジェント・ロード・バランシングが有効になっているとき、WeightUpdateIntervalディレクティブは、Oracle WebLogic Serverプロキシ・プラグインが、ヘッダーX-WebLogic-Request-Server-Health-Scoreを介してクラスタ内の各サーバーの重み付けについて、WebLogicサーバーに更新をリクエストする間隔を決定します。
インテリジェント・ロード・バランシングを有効にするには、RoutingAlgorithmディレクティブをWeighted-Least-Connectionに設定します。
サーバーの重み付けは、次のいずれかの条件を満たすと更新されます:
- 前回の重み付けの更新から現在までの経過時間が
WeightUpdateIntervalの設定値を超える - サーバーのクラスタ全体が変更される
サンプル構成:
<Location /app>
WLSRequest On
WebLogicCluster <Weblogic Managed Server 1>,<Weblogic Managed Server 2>,<Weblogic Managed Server 3> ...
RoutingAlgorithm Weighted-Least-Connection
WeightUpdateInterval 3
</Location>パフォーマンスを上げるためには、重み付け更新リクエストの頻度を下げることを検討してください。
WLCookieName
デフォルト: JSESSIONID
Oracle WebLogic Server WebアプリケーションでOracle WebLogic ServerセッションCookieの名前を変更する場合は、プロキシ・プラグインのWLCookieNameパラメータを同じ値に変更する必要があります。Oracle WebLogicセッションCookieの名前は、WebLogic固有のデプロイメント記述子である、weblogic.xml内の<session-descriptor>要素で設定されます。
WLDNSRefreshInterval
デフォルト: 0 (起動時に1回だけ参照)
プロキシ構成で定義されている場合は、Oracle WebLogic ServerがサーバーのDNS名とIPのマッピングをリフレッシュする秒間隔を指定します。これは、Oracle WebLogic Serverインスタンスが別のIPアドレスに移行されたが、そのサーバーのIPのDNS名が同じままである場合に使用できます。この場合、指定したリフレッシュ間隔で、DNSとIPとの間のマッピングが更新されます。
WLExcludePathOrMimeType
デフォルト: none
このパラメータによって、プロキシ設定から一定のリクエストを除外できます。
このパラメータは、グローバルに定義することも、「場所」タグ・レベルでローカルに定義することもできます。このプロパティをローカルに定義した場合、グローバルなプロパティがオーバーライドされるのではなく、2つのパラメータの集合が定義されます。
WLForwardUriUnparsed
デフォルト: OFF
ONに設定すると、Oracle WebLogic Serverプロキシ・プラグインは、クライアントからOracle WebLogic Serverに元のURIを転送します。OFF (デフォルト)に設定すると、Oracle WebLogic Serverに送信されるURIは、mod_rewriteまたはその他のWebサーバー・プラグイン・モジュールによって変更される可能性があります。
WLIOTimeoutSecs
HungServerRecoverSecsの新しい名称。
デフォルト: 120
プロキシ・プラグインがOracle WebLogic Serverからのリクエストへのレスポンスを待機する時間を定義します。プロキシ・プラグインは、WLIOTimeoutSecsの間サーバーが応答するのを待った後、サーバー無応答を宣言し、次のサーバーにフェイルオーバーします。値は大きい値に設定する必要があります。値がサーブレットの処理時間より短い場合、予期しない結果が発生することがあります。
最小値: 10
最大値: 2147483647
WLLocalIP
デフォルト: none
プロキシ・プラグインがマルチホーム・マシンで実行されているOracle WebLogic Serverインスタンスに接続する場合にバインドするIPアドレス(プロキシ・プラグインのシステム上)を定義します。
WLLocalIPが設定されていない場合、TCP/IPスタックはソースIPアドレスを選択します。
WLMaxWebSocketClients
デフォルト: Windows: ThreadsPerChildの半分、Windows以外: MaxRequestWorkersの半分
アクティブなWebSocket接続の数をいつでも制限します。
ノート:
このパラメータに設定できる最大値は、ThreadsPerChildの75% (Windowsの場合)またはMaxRequestWorkersの75% (Windows以外の場合)となります。このパラメータに対して指定された値が、許容されている最大値よりも大きい場合は、自動的にその最大値以下に設定されます。
WLProtocol
デフォルト: http/1.1
適用先: Apache HTTP Server
スコープ: ロケーション、サーバー・コンテキスト
http/2- HTTP/2プロトコルの場合ノート:
WLS Apacheプラグインのみ。http/1.1- HTTP/1.1プロトコルの場合
このディレクティブは、バックエンド・サーバーと通信するためにWLS Apacheプラグインで使用するプロトコルを指定します。
WLProtocolディレクティブが構成されていない場合、WLS Apacheプラグインでは、HTTP/1.1を介してバックエンド・サーバーにリクエストが送信されます。WLProtocolがHTTP/2として構成されていて、バックエンド・サーバーでHTTP/2プロトコルがサポートされていない場合、WLS ApacheプラグインはHTTP/1.1にフォールバックせず、503エラーが返されます。
WLProxyPassThrough
デフォルト: OFF
チェーン・プロキシが設定されており、プロキシ・プラグインまたはが他のプロキシまたはロード・バランサの背後で実行されている場合は、WLProxyPassThroughパラメータを明示的に有効にする必要があります。このパラメータによって、ヘッダーはプロキシの連鎖に渡されるようになります。
WLProxySSL
デフォルト: OFF
次の条件に該当する場合にプロキシ・プラグインとOracle WebLogic Serverとの間のSSL通信を維持するには、このパラメータをONに設定します:
- HTTPクライアントのリクエストでHTTPSプロトコルが指定されています。
- リクエストは、1つ以上のプロキシ・サーバー(Oracle WebLogic Serverプロキシ・プラグインを含む)を介して渡されます。
- プロキシ・プラグインとOracle WebLogic Serverの間の接続で、HTTPプロトコルが使用されます。
WLProxySSLがONに設定されている場合、Oracle WebLogic Serverからクライアントに返されるロケーション・ヘッダーでHTTPSプロトコルが指定されます。
WLProxySSLPassThrough
デフォルト: OFF
Webサーバーとプロキシ・プラグインより前にデプロイされたロード・バランサまたはその他のソフトウェアがSSLの終端点となっており、その製品において、クライアントからの接続がSSLを介すかどうかに基づいてWL-Proxy-SSLリクエスト・ヘッダーがtrueまたはfalseに設定される場合は、SSLの使用がOracle WebLogic Serverに渡されるよう、WLProxySSLPassThroughをONに設定します。
SSL終端点が、プロキシ・プラグインが動作するWebサーバーにある場合、またはロード・バランサがWL-Proxy-SSLを設定しない場合、WLProxySSLPassThroughをOFF(デフォルト)に設定します。
WLRetryOnTimeout
デフォルト: IDEMPOTENT
適用対象: Oracle HTTP Server、Apache HTTP Server
タイムアウトが発生したとき、WebLogicサーバーがステータス行を送信する前にリクエスト(POSTリクエストを含む)を再試行するかどうかをWebLogicプラグインに指示します。有効な引数は次のとおりです。
ALL: すべてのリクエストが再試行されます。IDEMPOTENT: 多重呼出し不変メソッドを使用しているリクエストのみが再試行されます。NONE: リクエストは再試行されません。ALL_NOREAD: すべてのリクエストが再試行され、リクエストの送信後には何も受信しません。IDEMPOTENT_NOREAD: idempotentメソッドを使用するリクエストのみが再試行され、リクエストの送信後には何も受信しません。
Oracle HTTP Server 14.1.2.0.0より前では、パラメータIdempotentが役割を果たしていました。つまり、レスポンスのタイムアウト時にはIDEMPOTENT ONによって再試行が引き起こされました。ただし、Oracle HTTP Server 14.1.2.0.0以降では、レスポンスのタイムアウトによる再試行は、パラメータWLRetryOnTimeoutのみによって制御されます。
WLRetryAfterDroppedConnection
デフォルト: ALL
Oracle WebLogic Serverがステータス行を送信する前に接続が失われたときに再試行するリクエストをOracle WebLogic Serverプロキシ・プラグインに指示します。有効な引数は次のとおりです。
ALL: すべてのリクエストが再試行されます。IDEMPOTENT: 多重呼出し不変メソッドを使用しているリクエストのみが再試行されます。NONE: リクエストは再試行されません。
WLServerInitiatedFailover
デフォルト: ON
これは、Oracle WebLogic Serverからの503エラー・レスポンスによって別のサーバーへのフェイルオーバーがトリガーされるかどうかを制御します。通常プロキシ・プラグインは、503エラー・レスポンスを受け取ると、別のサーバーへのフェイルオーバーを試行します。WLServerInitiatedFailoverをOFFに設定すると、503エラー・レスポンスはただちにクライアントに返されます。
WLSocketTimeoutSecs
デフォルト: 2 (0より大きくすること)
ソケットの接続時のタイムアウトを秒単位で設定します。詳細は、ConnectTimeoutSecsおよびConnectRetrySecsを参照してください。
WLSRequest
デフォルト: OFF
これは、Oracle WebLogic Serverに転送されるリクエストの識別に使用されるWLSRequest Onメカニズムのかわりに使用できます。たとえば、
<Location /weblogic> WLSRequest ON PathTrim /weblogic </Location>
SetHandler weblogic-handlerではなく、WLSRequestをONにすると、次のような利点があります:
-
Webサーバーの処理オーバーヘッドが全般的に低減されます。
-
Webサーバーの
DocumentRootが処理速度の遅いファイル・システム上にある場合に起こる著しいパフォーマンスの低下が解決されます。 -
ファイル・システムの長さ制限が原因でURIをファイル・システムにマップできない場合の403エラーが解決されます。
Oracle WebLogic Serverプロキシ・プラグインのSSLパラメータ
WLSプロキシ・プラグインのSSLパラメータの名前では、大/小文字が区別されます。
ノート:
SCG証明書は、WLSプロキシ・プラグインでの使用はサポートされていません。SCG以外の証明書は適切に機能し、Oracle WebLogic Serverとプロキシ・プラグインの間のSSL通信を可能にします。
キーストア関連の初期化パラメータは、Oracle WebLogic Serverプロキシ・プラグインでの使用はサポートされていません。
この項には次のトピックが含まれます:
SecureProxy
デフォルト: OFF
このパラメータをONに設定すると、プロキシ・プラグインとOracle WebLogic Serverの間のすべての通信にSSLプロトコルを使用できます。このパラメータを定義する前に、対応するOracle WebLogic Server上のポートをSSLプロトコル用に構成しておく必要があります。
このパラメータは、メイン・サーバー用構成と仮想ホスト用構成(仮想ホストを定義してある場合)という2つのレベルで設定可能です。仮想ホスト用構成において、SSL構成はメイン・サーバー用構成から継承されます(この設定がオーバーライドされない場合)。
WebLogicSSLCiphers
サポートされている暗号:
- TLSv1.3暗号:
TLS_AES_256_GCM_SHA384TLS_AES_128_GCM_SHA256TLS_CHACHA20_POLY1305_SHA256
- TLSv1.2暗号:
ECDHE-RSA-AES256-GCM-SHA384ECDHE-RSA-AES128-GCM-SHA256ECDHE-ECDSA-AES256-GCM-SHA384ECDHE-ECDSA-AES128-GCM-SHA256
非推奨の(まだ使用可能な)TLSv1.2暗号:
AES128-GCM-SHA256AES256-GCM-SHA384AES128-SHA256AES256-SHA256AES256-SHAAES128-SHA
デフォルト: サポートされているすべての暗号
スコープ: サーバー、VirtualHost
適用対象: Apache HTTP Server、Oracle HTTP Server
このディレクティブは、Oracle WebLogic Serverプロキシ・プラグインとOracle WebLogic Serverの間で使用される暗号のスペース区切りリストを受け入れます。
ノート:
WebLogicSSLCiphersがTLSv1.3暗号に設定され、WebLogicSSLVersionがTLSv1.2に設定されている場合、またはその逆の場合、サーバーの起動中に次のエラー・メッセージがスローされます:Error: No available SSL version. Possible Mismatch between the configured protocol(s) and cipher(s)WebLogicSSLCiphersを省略すると、デフォルトの暗号リストが選択されます(つまり、サポートされているすべての暗号)。WebLogicSSLVersionを省略すると、デフォルトのプロトコル・リスト(TLSv1.2およびTLSv1.3)が選択されます。- 特定の暗号を削除する場合は、その暗号を省略して暗号のリストを明示的に設定する必要があります。
WebLogicSSLCiphersディレクティブで指定された暗号のみが有効になります。 WebLogicSSLCiphersディレクティブで構成された暗号のリストに少なくとも1つのサポートされている暗号がある場合、Webサーバーが起動します。サポートされていない暗号がリストに含まれている場合、警告メッセージが表示され、サポートされていない暗号は無視されます。- TLSv1.2(以下)とTLSv1.3の両方の暗号は、
WebLogicSSLCiphersディレクティブを使用して構成できます。たとえば:WebLogicSSLCiphers TLS_AES_256_GCM_SHA384 ECDHE-ECDSA-AES128-GCM-SHA256
WebLogicSSLVersion
デフォルト: TLSv1.2、TLSv1.3
プロキシ・プラグインとOracle WebLogic Serverの間の通信に使用するSSLプロトコル・バージョンを指定します。この設定は、Webサーバーのssl.confファイルの設定と一致する必要はありません。プロキシ・プラグインは、Oracle WebLogic Serverと通信するために独自のSSLバージョンを持つことができます。
使用できる値は次のとおりです。
TLSv1_2またはTLSv1.2: TLS v1.2を使用しますTLSv1_3またはTLSv1.3: TLS v1.3を使用します
たとえば:
WebLogicSSLVersion TLSv1_2 TLSv1_3スペース区切りのリストを使用して、複数のプロトコルを定義できます。選択したSSLプロトコル・バージョンは、プロキシ・プラグインからOracle WebLogic Serverへのすべての接続に使用されます。したがって、このパラメータはグローバル・スコープで定義してください。
構成されていない場合、プロキシ・プラグインは、プロキシ・プラグインとOracle WebLogic Serverの両方でサポートされている最適なプロトコルを使用します。
ノート:
- 構成されるTransport Layer Security (TLS)プロトコルのデフォルトの最小バージョンはTLSv1.2です。本番環境でTLS v1.2以降を使用することをお薦めします。
WebLogicSSLCiphersがTLSv1.3暗号に設定され、WebLogicSSLVersionがTLSv1.2に設定されている場合、またはその逆の場合、サーバーの起動中に次のエラー・メッセージがスローされます:Error: No available SSL version. Possible Mismatch between the configured protocol(s) and cipher(s)
WLSSLCheckCn
デフォルト: OFF
スコープ: ロケーション、サーバー・コンテキスト
WebLogicHostまたはWebLogicClusterディレクティブを使用して構成されたホスト名が、SSL証明書のDistinguished NamesまたはsubjectAltName拡張のCommon Name属性と一致する必要があります。- ここで参照されるSSL証明書は、リクエストを処理するOracle WebLogic Server管理対象サーバー用に構成された証明書です。
WLSSLWallet
デフォルト: none
スコープ: サーバー・コンテキスト、仮想ホスト・コンテキスト
WLSSLWalletは、Oracle WebLogic ServerのSSLの構成方法に基づいて一方向または双方向SSLを実行します。export_walletプログラムは、ファイル・システム上のPEM形式のファイルにウォレットをエクスポートします。ユーザー指定のウォレットごとに、auto_login_onlyウォレットのみがサポートされているのと同じファイル・システム・パスに3つのファイルを作成できます。
key.PEM: 秘密キーがウォレットに存在する場合のPEM形式の秘密キーを含むパスフレーズ保護ファイル。user.crt: ユーザー証明書がウォレットに存在する場合のPEM形式のユーザー証明書。trusted_certs.crt: PEM形式の信頼できる証明書チェーン。
Oracleウォレット(SSOウォレット・ファイルを含む)のパスを引数として設定します。たとえば:
WLSSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/default"
WLSSLWalletディレクティブは、グローバル・サーバー・コンテキストと<VirtualHost>コンテキストでは使用できますが、<Location>コンテキストでは使用できません。たとえば、
<IfModule weblogic_module>
WLSSLWallet [Directory_Path_Of_Wallet]
...
</IfModule>
...
<Location /console>
WLSRequest ON
WebLogicHost [HOSTNAME]
WebLogicPort [PORT]
SecureProxy On
</Location>