1 Oracle WebLogic Serverプロキシ・プラグインの概要

Oracleには、Oracle WebLogic Serverで使用するプロキシ・プラグインが用意されています。

この章の内容は次のとおりです。

Oracle WebLogic Serverプロキシ・プラグインとは

Oracle WebLogic Serverプロキシ・プラグイン(WLSプロキシ・プラグイン)を使用すると、HTTP WebサーバーからOracle WebLogic Serverにリクエストをプロキシできます。こうしてプラグインによりHTTPサーバーとOracle WebLogic Serverにデプロイされたアプリケーションとの通信が可能になります。

プロキシ・プラグインは、動的機能が必要なリクエストをOracle WebLogic Serverで処理できるようにすることで、HTTPサーバーのインストールを強化します。つまり、HTTPサーバーがHTMLページのような静的なページを処理する場合にはプロキシ・プラグインを使用するのが一般的ですが、Oracle WebLogic Serverでは、HTTPサーブレットやJakarta Server Pages (JSP)のような動的なページを処理することになります。

Oracle WebLogic Serverは、別のプロセス(場合によっては別のホスト上)で動作している場合があります。エンド・ユーザーには(つまり、ブラウザでは)、HTTPリクエストがOracle WebLogic Serverへ委任されても、これがHTTPサーバーから送信されているように見えます。

Oracle WebLogic Serverプロキシ・プラグインの入手

Oracle WebLogic Server 14.1.2.0.0プロキシ・プラグインは、Oracle HTTP ServerおよびApache HTTP Serverで使用できます。

それぞれのWLSプロキシ・プラグインは、Oracle HTTP Server用Oracle WebLogic Serverプロキシ・プラグイン(WLS OHSプラグイン)と、Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグイン(WLS Apacheプラグイン)です。

表1-1 バージョン14c (14.1.2.0.0)プラグインの入手方法

Webサーバー プラグインの入手方法 参照

Oracle HTTP Server 14c

WLS OHSプラグインは、Oracle HTTP Serverのインストールに含まれています。

WLS OHSプラグインの構成の詳細は、「Oracle HTTP Server用プラグインの構成」を参照してください。

Apache HTTPサーバー2.4.x

WLS Apacheプラグインは、My Oracle Support (https://support.oracle.com/signin)およびSoftware Delivery Cloud (http://edelivery.oracle.com)のWebサイトでZIPファイルとしてダウンロードできます。

ダウンロード可能なのは、OpenSSL 1.1.1xバージョンおよびOpenSSL 3.0.xでコンパイルされたWLS ApacheプラグインのZIPファイルです。

詳細は、Oracle WebLogic Server (14.1.2.0.0)の動作保証マトリックスを参照してください。

WLS Apacheプラグインのインストールおよび構成の詳細は、「Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインのインストールおよび構成」を参照してください。

14.1.2.0.0プロキシ・プラグインの新機能

Oracle WebLogic Server 14.1.2.0.0プロキシ・プラグインにより、次の新機能のサポートが追加されます。

表1-2 Oracle WebLogic Serverプロキシ・プラグインの新機能

プラグイン 機能

WLS OHSプラグイン

WLS Apacheプラグイン

HTTP/2プロトコルのサポート

ノート:

HTTP/2がサポートされるのは、WLS Apacheプラグインのみです。

HTTP/2プロトコルは、バイナリ・フレーム・メカニズムを使用してクライアントとサーバーの間でデータを交換します。すべてのHTTP/2通信は、小さいメッセージおよびフレームに分割され、それぞれがバイナリ形式でエンコードされます。その結果、クライアントとサーバーの両方が新しいバイナリ・エンコーディング・メカニズムを使用して相互に理解する必要があります。HTTP/1.xクライアントはHTTP/2専用のサーバーを理解できず、その逆も同様です。

Apache Webサーバーでは、次の両方でHTTP/1.1およびHTTP/2プロトコルがサポートされています:
  • Apache Webサーバーに接続するクライアント(フロントエンド接続)
  • WebLogicサーバーへのWLS Apacheプラグイン接続(バックエンド接続)

ノート:

WebSocketはHTTP/2ではサポートされていません。

インテリジェント・ロード・バランシングのサポート

インテリジェント・ロード・バランシングを使用すると、WLSプロキシ・プラグインが、サーバーのプール全体で各サーバーの実際の容量に応じてトラフィックをさらに均等に分散でき、信頼性が向上します。

ノート:

インテリジェント・ロード・バランシングの場合、サポートされるのは、Oracle WebLogic Server 14.1.2.0.0バックエンド・サーバーのみです。

インテリジェント・ロード・バランシング機能は、次の2つの部分で構成されます:

  • WebLogic管理対象サーバー(管理対象サーバー)のヘルス・スコアの計算
  • リクエストをルーティングする管理対象サーバーの選択

ヘルス・スコアの計算

クラスタ内の管理対象サーバーごとに、WebLogicサーバーがデフォルトのヘルス・スコアの計算を提供します。デフォルトのヘルス・スコアの計算は、CPU負荷、ヒープ使用量、ワーク・マネージャのスタック・スレッド数およびデータ・ソースの接続保留中リクエスト数に基づきます。このヘルス・スコアは、管理対象サーバーごとに個別に計算され、リクエスト時にプロキシ・プラグインに返されます。WebLogicサーバーでのヘルス・スコアの計算方法の詳細は、『Oracle WebLogic Serverサーバー環境の管理』ヘルス・スコアに基づいたインテリジェント・ルーティングを参照してください。

WLSプロキシ・プラグインは、リクエスト・ヘッダーX-WebLogic-Request-Server-Health-Scoreを介して管理対象サーバーのヘルス・スコアをリクエストします。

WebLogicサーバーは、事前定義済のレスポンス・ヘッダーX-WebLogic-Server-Health-Scoreを介して各管理対象サーバーのヘルス・スコアを送信します。


<Location /sampleApp>
    WLSRequest On
    WebLogicCluster host1:port1,host2:port2,host3:port3
    RoutingAlgorithm Weighted-Least-Connection
    WeightUpdateInterval 7
</Location>

管理対象サーバーの選択

WLSプロキシ・プラグインは、ヘルス・スコアに加えて、アクティブな接続数のパラメータも使用して、リクエストのルーティング先の管理対象サーバーをクラスタから選択します。

アクティブな接続数は、プロキシ・プラグインのレベルに格納されます。アクティブな接続数とは、管理対象サーバーによって現在処理されているプロキシ・プラグイン側からのリクエストの数です。

WLSプロキシ・プラグインは、最小接続数順に重み付けされたルーティング・アルゴリズムを使用して、クラスタから次のサーバーを選択します。このアルゴリズムでは、アクティブな接続数と管理対象サーバーのヘルス・スコアの比率が最も低い管理対象サーバーが選択されます。これにより、処理能力が高い管理対象サーバーがワークロードの大きな割合に対応し、一方で処理能力の低いサーバーの過負荷を防ぐことができます。

インテリジェント・ロード・バランシングの構成

インテリジェント・ロード・バランシングを有効にするには、WLSプロキシ・プラグインとWebLogic Serverの両方で設定を構成する必要があります。インテリジェント・ロード・バランシングを構成しない場合、ラウンドロビン・ルーティング・アルゴリズムがデフォルトで使用されます。

プロキシ・プラグインで、RoutingAlgorithmディレクティブをWeighted-Least-Connectionに設定します。詳細は、RoutingAlgorithmを参照してください。

リクエストが選択されて管理対象サーバーで処理される場合、デフォルトでは、WLSプロキシ・プラグインにより、管理対象サーバーのヘルス・スコアが1秒間隔でリクエストされます。間隔を短縮するには、WeightUpdateIntervalディレクティブを構成します。

次のモジュールをロードする必要があります。

LoadModule socache_shmcb_module "${PRODUCT_HOME}/modules/mod_socache_shmcb.so"
サンプル構成

<Location /sampleApp>
    WLSRequest On
    WebLogicCluster host1:port1,host2:port2,host3:port3
    RoutingAlgorithm Weighted-Least-Connection
    WeightUpdateInterval 7
</Location>

WebLogicサーバーの構成手順は、『Oracle WebLogic Serverサーバー環境の管理』ヘルス・スコアの構成を参照してください。

セキュリティの向上

WLSプロキシ・プラグインでは、セキュリティが次のように強化されました。

TLSv1.3プロトコルのサポート

WLSプロキシ・プラグインでは、TLSv1.3プロトコルがサポートされます。

プロキシ・プラグインとOracle WebLogic Serverの間の通信に使用するSSLプロトコル・バージョンを指定するには、WebLogicSSLVersionディレクティブを使用します。

TLSv1.3プロトコルのサポートには、次の機能が含まれます:

TLS暗号

これまでのリリースでいくつかの暗号が非推奨となり、サポートされている暗号のリストから削除されました。WebサーバーとOracle WebLogic Serverの間のハンドシェイクに非推奨の暗号を使用する場合は、WebLogicSSLCiphersディレクティブを使用して明示的に構成に追加する必要があります。非推奨リストの暗号が使用されると、警告メッセージが生成されます。

  • TLSv1.3のデフォルトの暗号リスト:
    • TLS_AES_256_GCM_SHA384
    • TLS_AES_128_GCM_SHA256
    • TLS_CHACHA20_POLY1305_SHA256
  • TLSv1.2のデフォルトの暗号リスト:
    • ECDHE-RSA-AES256-GCM-SHA384
    • ECDHE-RSA-AES128-GCM-SHA256
    • ECDHE-ECDSA-AES256-GCM-SHA384
    • ECDHE-ECDSA-AES128-GCM-SHA256
  • 14.1.2.0.0の非推奨の暗号のリスト:
    • AES128-GCM-SHA256
    • AES256-GCM-SHA384
    • AES128-SHA256
    • AES256-SHA256
    • AES256-SHA
    • AES128-SHA

以前の12cリリースから継承された機能

新しい機能に加えて、WLSプロキシ・プラグインには、以前の12cリリースの機能も継承されています。

継承される機能には、次のものがあります:
  • WLS Apacheプラグインでは、mod_wl_24.soプロキシ・プラグイン・モジュールを介してApache HTTP Server 2.4.x Webサーバーがサポートされます。そのため、Apache HTTP Server 2.4.xを使用してmod_wl_24.soモジュールをロードする必要があります。これは通常、Apache HTTP Serverの構成ファイルを編集することによって行われます。
  • WLS Apacheプラグインでは、mod_wl.so Oracle WebLogic Serverモジュールを介したApache HTTP Server 2.2.xはサポートされていません。したがって、このモジュールはプロキシ・プラグインのディストリビューションから削除されました。
  • Oracle WebLogic Server では、WebSocketアプリケーションのデプロイがサポートされます。WLS OHSプラグインでは、WebSocket接続アップグレード・リクエストを処理し、Oracle WebLogic Server 12.1.2以降でホストされているWebSocketアプリケーションに効果的にプロキシできるようになりました。「WebSocketプロキシ構成について」を参照してください。
  • プロキシ・プラグインには、次のWLS OHSプラグイン構成パラメータが含まれるようになりました:
    • WLMaxWebSocketClients: 任意の時点でアクティブなWebSocket接続の数を制限します。デフォルト値はMaxClients(またはMaxRequestWorkers)の半分です。
    • WebLogicSSLVersion: WLS OHSプラグインとWebLogic管理対象サーバー/クラスタの間でHTTPSリクエストを通信する際に使用するSSLプロトコル・バージョンを選択します。
  • WLSプロキシ・プラグインは、リクエストをバックエンドOracle WebLogic ServerにプロキシするWLSプロキシ・プラグインのパフォーマンスのモニターをサポートします。「WLS ApacheプラグインのDMSメトリックの理解」を参照してください。
  • WLSプロキシ・プラグインでは、デバッグ情報が各Webサーバーのエラー・ログ・ファイルに記録されるようになりました。したがって、デバッグ・ログに固有のプロキシ・プラグイン・パラメータ(DebugおよびWLLogFile)は非推奨になりました。
  • WLSプロキシ・プラグインでは、プラグインからOracle WebLogic Serverへの接続のプールを使用してパフォーマンスを向上させます。プロキシ・プラグインは、同じプロキシ・プラグインからの後続のリクエストに対して同じ接続を再利用することで、プロキシ・プラグインとOracle WebLogic Serverの間のHTTP 1.1キープ・アライブ接続を実装します。接続は、20秒(またはユーザー定義の時間)が経過してもアクティブにならない場合は閉じられます。「KeepAliveEnabled」を参照してください。

    ノート:

    Webサーバーはクライアント接続を管理します。
  • WLSプロキシ・プラグインは、指定した構成に基づいてOracle WebLogic Serverにリクエストをプロキシします。
    • リクエストのURL (またはURLの一部)に基づいて、リクエストをプロキシできます。これをパスによるプロキシと呼びます。
    • リクエストされたファイルのMIMEタイプに基づいてリクエストをプロキシすることもでき、これをファイル拡張子によるプロキシと呼びます。

    両方の方法を有効にすることもできます。両方の方法を有効にし、リクエストが両方の条件に一致した場合は、そのリクエストはパスによってプロキシされます。

    また、これらの各リクエスト・タイプに、プロキシ・プラグインのその他の動作を定義するその他のパラメータも指定できます。

次の機能は、サポートされなくなりました:
  • WLS OHSプラグインでは、TLS1.0 SSLプロトコルのサポートが削除されました。したがって、SSL通信用にTLS1.0 SSLプロトコルを構成すると、プロキシ・プラグインはOracle WebLogic Serverへの接続に失敗します。
  • WLS OHSプラグインでは、MD5署名証明書は安全ではないとみなされます。このため、これらの証明書のサポートは削除されました。SSLを使用してOracle WebLogic Serverに接続している場合、およびMD5で署名された証明書がウォレットに含まれている場合は、SHA-2署名付き証明書で置き換えます。そうしないと、サーバーは起動に失敗します。MD5署名付き証明書の詳細は、「MD5アルゴリズムを使用して署名された証明書の置換」を参照してください。