3 Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインのインストールおよび構成

Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグイン(WLS Apacheプラグイン)をインストールおよび構成するには、この項に記載されている情報を読むことをお薦めします。

この項には次のトピックが含まれます:

WLS Apacheプラグインのインストール

WLS Apacheプラグインをダウンロードしたら、Apache HTTP Serverインストールにモジュールとしてロードできます。

WLS Apacheプラグインをダウンロードするには、「Oracle WebLogic Serverプロキシ・プラグインの入手」を参照してください。

この項には次のトピックが含まれます:

インストールの前提条件

必要な前提条件を満たしていることを確認してください。

この項には次のトピックが含まれます:

WLS Apacheプラグインの取得
WLS Apacheプラグインを取得するには:
  1. 「Oracle WebLogic Serverプロキシ・プラグインの入手」の説明に従って、WLS Apacheプラグインをダウンロードします。
  2. プロキシ・プラグインのZIPディストリビューションをPLUGIN_HOMEに展開します。たとえば、/home/myhome/weblogic-plugins-14.1.2.0.0/です。これが、プラグインの解凍先となるディレクトリです。

表3-1に、ディストリビューションに含まれるファイルを示します。

表3-1 Linux用のWLS ApacheプラグインのZipファイルに含まれるファイル

(パス)/ファイル名 説明

README.txt

プロキシ・プラグインのREADMEファイル。

THIRD_PARTY_LICENSES.txt

サードパーティのライセンス関連情報を含むファイル。

bin/orapki

Oracleウォレットを構成するためのorapkiツール。

bin/export_wallet

OracleウォレットをPEM形式のファイルにエクスポートするための実行可能ファイル。

jlib/*.jar

orapkiおよびexport_walletプログラムのヘルパーJavaライブラリ。

lib/mod_wl_24.so

Apache HTTP Server 2.4用のOracle WebLogic Serverプロキシ・プラグイン。

lib/*.so

ヘルパー・ライブラリ。

lib/nghttp2/*

nghttp2のHTTP/2 Cライブラリ。

Javaの要件

必要なバージョンのJava (JDK)をインストールします。表3-2に、Apache HTTP Server用14.1.2.0.0プロキシ・プラグインを使用する場合に、特定の機能に必要な最小JDKバージョンを示します。

表3-2 最小JDK要件

JDKをインストールする必要があるホスト JDKを必要とする機能 最低限必要なJDKバージョン 説明
Apache HTTP Serverがインストールされているマシン。 Oracleウォレットの管理に使用。 Oracle JDK 17および21 $PLUGINS_HOME/binにあるorapkiツールを使用して、Webサーバー用に構成されたOracleウォレットを操作するには、JDKが必要です。

JDKは、Oracleウォレットの内容をファイル・システム上のPEM形式のファイルにエクスポートするexport_walletプログラム($PLUGINS_HOME/binにあります)にも必要です。

Apache HTTP Serverインストール

サポートされているApache HTTPサーバーのインストール環境があることを確認します。Oracle Fusion Middlewareのサポートされるシステム構成を参照してください。

Apache Portable Runtime 1.7.0 (apr-1.7.0)を使用していることを確認します。次のコマンドを使用して、apr-1.7.0のパスをLD_LIBRARY_PATHに追加します:

export LD_LIBRARY_PATH=<absolute_path_to_the_directory_containing_apr-1.7.0>/lib:${LD_LIBRARY_PATH}

ノート:

14.1.2.0.0 WLS Apacheプラグインは、Apache Portable Runtime 1.7.0 (apr-1.7.0)でテストされています。そのため、少なくともこのバージョンのAPRを使用することをお薦めします。以前のバージョンのAPRをプロキシ・プラグインで使用すると、正しい動作になるかどうかはわかりません。

APRはhttps://apr.apache.org/からダウンロードできます。

Oracle WebLogic Serverインストール

サポートされているバージョンのOracle WebLogic Serverが構成済であり、ターゲット・システム上で実行されていることを確認します。このサーバーは、プロキシ・プラグインのZIPディストリビューションを解凍したシステム上で実行する必要はありません。

サポートされているOracle WebLogic Serverバージョンのリストは、https://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.htmlを参照してください。

Oracle WebLogic Serverの構成の詳細は、『Oracle WebLogic ServerおよびCoherenceのインストールと構成』Oracle WebLogic Serverのインストールの計画に関する項を参照してください。

WLS Apacheプラグインの環境変数の設定

ノート:

PLUGINS_HOMEJAVA_HOMELD_LIBRARY_PATHなどの環境変数を設定することをお薦めします。
たとえば:
PLUGINS_HOME=<absolute_path_to_the_directory_where_plugin_zip_is extracted_to>
export PLUGINS_HOME

${VAR_NAME}構文を使用して、httpd.confファイルにApache HTTP Serverを起動するときに設定される変数を使用できます。たとえば:

LoadModule weblogic_module ${PLUGINS_HOME}/lib/mod_wl_24.so

次の環境変数を設定します。

  • 次のコマンドを使用して、プロキシ・プラグインのZIPファイルが解凍されるディレクトリを指すようにPLUGINS_HOMEを設定します:
    export PLUGINS_HOME=<absolute_path_to_the_directory_where_plugin_zip_is extracted_to>

    たとえば:

    export PLUGINS_HOME=/home/myhome/weblogic-plugins-14.1.2.0.0/
  • 次のコマンドを使用して、Apache HTTP Serverがインストールされているホストに存在するJDKを指すようにJAVA_HOMEを設定します:

    ノート:

    JAVA_HOMEには相対パスを使用できません。
    export JAVA_HOME=<absolute_path_to_the_JDK_installation_directory>

    たとえば:

    export JAVA_HOME=/home/myhome/JDK_installation_path

    ノート:

    JAVA_HOMEは、Oracleウォレットを管理するためにSSLを実装する場合にのみ必要です。

    サポートされているJDKバージョンの詳細は、表3-2を参照してください。

  • UNIXシステムのLD_LIBRARY_PATH$PLUGINS_HOME/libが含まれていることを確認します。$PLUGINS_HOME/libLD_LIBRARY_PATHに追加するには、次のコマンドを使用します:

    export LD_LIBRARY_PATH=$PLUGINS_HOME/lib:$LD_LIBRARY_PATH
  • 「サード・パーティ・ソフトウェアの依存関係」を確認して、nghttp2ライブラリへの依存関係を満たすために追加のステップが必要かどうかを判断します。
Microsoft再頒布可能パッケージ2015-2022のインストール

Microsoft再頒布可能パッケージ2015-2022をWindowsにインストールする必要があります。詳細は、「Microsoft Visual C++ Redistributable latest supported downloads」を参照してください。

ノート:

このパッケージがインストールされていない場合、mod_wl_24.soモジュールの構成後に、WindowsでApache Webサーバーの起動が失敗し、次のエラーが表示されます:
CANNOT LOAD MODULES/MOD_WL_24.SO

WLS Apacheプラグインのインストール

WLS Apacheプラグインは、共有オブジェクト(.so)ファイルとして配布されます。プロキシ・プラグインは、My Oracle Support (https://support.oracle.com/signin)またはSoftware Delivery Cloudから取得できます。

WLS Apacheプラグインをインストールするには:

  1. mod_so.cモジュールが有効になっていることを確認します。

    Apacheで提供されるスクリプトを使用してApache HTTPサーバーをインストールした場合、mod_so.cはすでに有効になっています。次のコマンドを実行して、mod_so.cが有効であることを確認します:

    UNIX/Linux:
    APACHE_HOME/bin/apachectl -l

    (APACHE_HOMEは、Apache HTTP Serverのインストールが含まれているディレクトリです。)

    このコマンドによって、有効なすべてのモジュールがリスト表示されます。mod_so.cがリストされていない場合は、次の構成オプションが指定されていることを確認して、Apache HTTP Serverを再構築する必要があります:

    ...
    --enable-module=so
    ...
    出力が次のように表示されます。
    # apachectl -l
    Compiled in modules:
    ...
      mod_so.c
    ...
  2. バックアップとして、APACHE_HOME/conf/httpd.confファイルのコピーを作成します。
  3. httpd.confファイルを開きます。
  4. 次のコマンドを実行して、httpd.confファイルの構文を確認します。
    UNIX/Linux:
    > APACHE_HOME/bin/apachectl -t

    httpd.confファイルにエラーが含まれている場合、このコマンドの出力にエラーが表示されます。クリーンな出力が得られることを確認してから続行してください。エラーがない場合は、コマンドは次のように返します:

    Syntax OK

    ノート:

    Oracle Supportに連絡する前に、ステップ1から4までですべての構成エラーを解決していることを確認してください。
  5. Apache 2.4.x用WLS Apacheプラグイン・モジュールには、14.1.2.0.0プロキシ・プラグイン・ディストリビューションが付属しています。Apache 2.2.xはサポートされなくなりました。そのため、Apache 2.2.x用のWLS Apacheプラグイン・モジュールはサポートされなくなりました。サポートが継続しているApache 2.4.x用WLS Apacheプラグイン・モジュールを使用してください。

    ノート:

    Apache 2.2.xバージョンのWebサーバーを使用している場合は、Apache 2.4.xバージョンに移行し、Apache 2.4.x用のOracle WebLogic Serverプロキシ・プラグイン・モジュールをインストールします。

    次の行を追加して、Apache 2.4.x用WLS Apacheプラグイン・モジュールをインストールします:

    LoadModule weblogic_module /home/myhome/weblogic-plugins-14.1.2.0.0/lib/mod_wl_24.so
  6. WLS Apacheプラグイン・モジュールのインストール後、次のコマンドを実行して、httpd.confファイルの構文を確認します:
    UNIX/Linux:
    > APACHE_HOME/bin/apachectl -t

    httpd.confファイルにエラーが含まれている場合、このコマンドの出力にエラーが表示されます。エラーを解決するには、Oracle Supportに連絡してください。エラーがない場合は、コマンドは次のように返します:

    Syntax OK

WLS Apacheプラグインをインストールした後のステップ

14.1.2.0.0 WLS Apacheプラグインをインストールした後に、プラグインの新機能を使用するには、次に示す構成をすべて行います。

  1. JDKの最小要件を確認し、サポートされているバージョンのJDKをインストールします。「インストールの前提条件」を参照してください。
  2. 次の環境変数を設定します。
    • JAVA_HOME
    • PLUGINS_HOME
    • LD_LIBRARY_PATH

    「インストールの前提条件」を参照してください。

14.1.2.0.0 WLS Apacheプラグインの新機能を使用するには、次を実行します:

この項には次のトピックが含まれます:

サードパーティ・ソフトウェアの依存関係

14.1.2.0.0 WLS Apacheプラグインは、次のサードパーティ・ソフトウェアに依存します:

  • OpenSSLバージョン1.1.1xまたは3.0.x
  • nghttp2バージョン1.58.0

ノート:

Windows OpenSSLバージョンの場合、Windows環境の最新のApache 2.4ビルドには、OpenSSLバージョン3.xがデフォルトで付属しています。

前述のサードパーティ・ソフトウェアのライブラリは、(14.1.2.0.0 WLS Apacheプラグイン・モジュールをロードする) Apache Webサーバー・プロセスが実行されているシステムで使用可能であることが必要です。これらのライブラリは、Apache Webサーバー・プロセスを起動するための前提条件です。

14.1.2.0.0 WLS Apacheプラグインには、OpenSSL 1.1.1xとOpenSSL 3.0.xの両方でサポートされる2つの種類があります。詳細は、Oracle Fusion Middlewareのサポートされるシステム構成に関するページを参照してください。Apache Webサーバー・プロセスにより14.1.2.0.0 WLS Apacheプラグイン・モジュールがロードされると、オペレーティング・システムから提供されるOpenSSLライブラリもプロセス・アドレス領域にロードされます。

HTTPヘッダーの大/小文字処理について

WLS Apacheプラグインは、フロントエンドおよびバックエンド接続用に構成されたHTTPプロトコル・バージョンに基づいてHTTPヘッダーの大/小文字を変換します。

表2-1に、フロントエンドおよびバックエンド接続用に構成されたHTTPプロトコル・バージョンに基づいてリクエスト・ヘッダーとレスポンス・ヘッダーの大/小文字がどのように変更されるかを示します。

表3-3 HTTPリクエスト・ヘッダーおよびレスポンス・ヘッダーの大/小文字

フロントエンド接続のHTTPプロトコル・バージョン バックエンド接続のHTTPプロトコル・バージョン Oracle WebLogic Serverプロキシ・プラグインによってバック・エンドに送信されたリクエスト・ヘッダーの大/小文字 Oracle WebLogic Serverプロキシ・プラグインによってクライアントに送信されたレスポンス・ヘッダーの大/小文字
HTTP/2 HTTP/2 小文字 小文字
HTTP/1.1 HTTP/2 小文字 キャメル・ケース
HTTP/2 HTTP/1.1 キャメル・ケース 小文字
HTTP/1.1 HTTP/1.1 変換なし 変換なし
サポートされていないユース・ケース

14.1.2.0.0 WLS Apacheプラグインは、mod_ssl.somod_http2などのオープン・ソース・モジュールをロードしてOpenSSLライブラリに依存するように、Apache Webサーバー・プロセスにロードされます。14.1.2.0.0 WLS Apacheプラグインは、OpenSSLライブラリにも依存します。プロキシ・プラグインには2つの種類があり、OpenSSL 1.1.1とOpenSSL 3.0.Xの両方でサポートされています。

Apache Webサーバー・プロセスの現在の機能を確保するために、Apache Webサーバー・プロセス内の様々なモジュールが使用するOpenSSLのバージョンにバイナリ互換性があることを確認し、シンボル・バージョンが競合しないようにすることをお薦めします。

次のユース・ケースは、実行時にシンボルの競合が原因で発生する不適切な実行時動作(プロセスのクラッシュ)につながるため、サポートされていません:

  • Apache Webサーバー・プロセスで使用するオープン・ソースのApacheモジュールが、14.1.2.0.0 WLS Apacheプラグインで使用されるOpenSSLバージョンとのバイナリ互換性がないバージョンのOpenSSLに静的にリンクされている場合に14.1.2.0.0 WLS Apacheプラグインを使用すること。

  • Apache Webサーバー・プロセスで使用するオープン・ソースのApacheモジュールが、OpenSSLバージョンとのバイナリ互換性がないバージョンのOpenSSLに動的にリンクされていて、OpenSSLライブラリでシンボル・バージョニングがサポートされていない場合に14.1.2.0.0 WLS Apacheプラグインを使用すること。

WLS Apacheプラグインの構成

httpd.confファイルを編集して、パスまたはMIMEタイプによるリクエストのプロキシ、HTTPトンネリングの有効化、他のWLS Apacheプラグイン・パラメータの使用を可能にします。

この項には次のトピックが含まれます:

httpd.confファイルの構成

WLS Apacheプラグインを構成するには、Apache HTTP Serverインストールのhttpd.confファイルを編集します。次のタスクを実行します。

タスク1: MIMEリクエストの構成

リクエストは、MIMEタイプまたはパス、あるいはその両方によってプロキシできます。テキスト・エディタでhttpd.confファイルを開き、次のステップを実行します:

ノート:

MIMEタイプおよびパスによるプロキシの両方を有効にした場合は、パスによるプロキシがMIMEタイプによるプロキシより優先されます。
MIMEタイプによるプロキシ・リクエストの構成

httpd.confファイルでMIMEタイプによるMIMEリクエストを構成するには、MatchExpression行を<IfModule>ブロックに追加します:

  • クラスタ化されていないOracle WebLogic Serverの場合: MatchExpressionディレクティブを使用してWebLogicHostおよびWebLogicPortパラメータを定義します。
    次の例では、クラスタ化されていないOracle WebLogic Serverでは、MIMEタイプ.jspのすべてのファイルがプロキシされることを指定します:
    <IfModule mod_weblogic.c> 
     WebLogicHost my-weblogic.server.com
     WebLogicPort 7001
     MatchExpression *.jsp
    </IfModule>
    複数のMatchExpressionを使用することもできます。たとえば:
    <IfModule mod_weblogic.c>
     WebLogicHost my-weblogic.server.com
     WebLogicPort 7001
     MatchExpression *.jsp
     MatchExpression *.xyz
    </IfModule>
  • Oracle WebLogic Serverのクラスタの場合: MatchExpressionディレクティブを使用してWebLogicClusterパラメータを定義します。
    次の例では、クラスタ化されたOracle WebLogic Serverでは、MIMEタイプ.jspのすべてのファイルがプロキシされることを指定します:
    <IfModule mod_weblogic.c>
     WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
     MatchExpression *.jsp
    </IfModule>

    「MatchExpression」を参照してください。

パスによるプロキシ・リクエストの構成

httpd.confファイルでパスによるMIMEリクエストを構成するには、<Location>タグ内にPathTrimパラメータを構成します。PathTrimパラメータは、リクエストがOracle WebLogic Serverインスタンスに渡される前にURLの先頭から切り捨てられる文字列を指定します。「PathTrim」を参照してください。

たとえば、次のLocationブロックは、URLに/weblogicを含むすべてのリクエストをプロキシします:
<Location /weblogic>
  WLSRequest On
  PathTrim /weblogic
</Location>

<Location>ディレクティブは、囲まれたディレクティブの範囲をURLによって制限します。「Apache Location Directive」を参照してください。

タスク2: WLS Apacheプラグインの追加パラメータの定義

WLS Apacheプラグインの追加パラメータを定義します。

WLS Apacheプラグインでは、「Oracle WebLogic Serverプロキシ・プラグインの一般パラメータ」にリストされているパラメータが認識されます。WLS Apacheプラグインの動作を変更するには、次のいずれかの方法でそれらのパラメータを定義します:

  • パスによるプロキシに適用するパラメータの場合、<Location>ブロック
  • MIMEタイプによるプロキシに適用するパラメータの場合、グローバルまたは仮想ホスト・スコープ
タスク3: HTTPトンネリングの有効化(省略可)

T3プロトコルのHTTPトンネリングを有効にするには、<Location>ブロックを構成します。

T3プロトコルおよびweblogic.jarを使用している場合にHTTPトンネリングを有効にするには、次の<Location>ブロックをhttpd.confファイルに追加します:

<Location /bea_wls_internal>
 WLSRequest On
</Location>
タスク4: Webサービスのアトミック・トランザクションの有効化(省略可)
Webサービスのアトミック・トランザクション(WS-AT)は、<Location>ブロックを構成することで有効にできます。<wls-wsat>パラメータが、パスによるプロキシに適用されます。オプションで、Apache HTTP Server用のOracle WebLogic Serverプロキシ・プラグインの動作を変更するパラメータを定義できます。
<Location /wls-wsat>
 WLSRequest On
</Location>

WebLogic Webサービスは、IBM WebSphere、JBoss、Microsoft .NETなどの外部トランザクション処理システムとの相互運用性を実現します。Webサービスのアトミック・トランザクション(WS-AtomicTransaction)の詳細は、https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-txを参照してください。

タスク5: 構成の検証と適用

次のステップに従い、httpd.conf構成を検証してApache HTTP Serverに適用します。

  1. 次のコマンドを実行して、httpd.confファイルの構文を確認します(UNIX/Linux):
    > APACHE_HOME/bin/apachectl -t

    httpd.confファイルにエラーがある場合はこのコマンドの出力でエラーが表示され、それ以外の場合は次のような結果が戻されます。

    Syntax OK
  2. Apache HTTP Serverを起動します(UNIX/Linuxの場合):
    > APACHE_HOME/bin/apachectl start
  3. ブラウザからhttp://apache-host:apache-port/mywebapp/my.jspにリクエストを送信します。レスポンスを確認します。

LocationブロックまたはVirtualHostブロック内へのWebLogicプロパティの配置

<IfModule>を使用しないようにした場合は、かわりにWebLogicプロパティを直接Locationブロック内または<VirtualHost>ブロック内に配置できます。次に示す<Location>ブロックと<VirtualHost>ブロックの例を参考にしてください。

<Location /weblogic>
WLSRequest On
WebLogicHost myweblogic.server.com
WebLogicPort 7001
</Location>
<Location /weblogic>
WLSRequest On
WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
</Location>
<VirtualHost apachehost:80>
WLSRequest On
WebLogicServer weblogic.server.com
WebLogicPort 7001
</VirtualHost>

Apache WebサーバーおよびWLS ApacheプラグインのデフォルトのHTTPプロトコルの構成

デフォルトのApache Webサーバー構成のApache Webサーバーでは、フロントエンド接続とバックエンド接続の両方でHTTP/1.1プロトコル(のみ)がサポートされています。このデフォルトのApache Webサーバー構成では、次のことが行われます:
  • クライアントにより、Apache WebサーバーへのHTTP/1.1フロントエンド接続が作成されます:
    • HTTP/1.1のみをサポートするクライアントでは、HTTP/1.1フロントエンド接続が作成されます。
    • HTTP/2をサポートするクライアントでは、HTTP/1.1フロントエンド接続がネゴシエートされます。
  • WLS Apacheプラグインにより、WebLogic ServerへのHTTP/1.1バックエンド接続が作成されます:
    • WebLogic ServerでHTTP/1.1のみがサポートされている場合、Apache WebサーバーではHTTP/1.1バックエンド接続が作成されます。
    • WebLogic ServerでHTTP/2がサポートされている場合、Apache WebサーバーではHTTP/1.1バックエンド接続がネゴシエートされます。

例: WLS Apacheプラグインの構成

次の例では、バックエンドのOracle WebLogic Serverにリクエストをプロキシするよう、WLS Apacheプラグインを簡単に設定する基本的な手順を示します。

  1. $APACHE_HOME/conf/httpd.confファイルのコピーを作成します。
  2. ファイルを編集し、次のコードを追加します。
    ... 
    LoadModule weblogic_module /home/myhome/weblogic-plugins-14.1.2.0.0/lib/mod_wl_24.so
    
    <IfModule mod_weblogic.c>
      WebLogicHost wls-host
      WebLogicPort wls-port
    </IfModule>
    
    <Location /mywebapp>
      WLSRequest On
    </Location>
    ...
    
  3. 次のコマンドを使用して、LD_LIBRARY_PATH$PLUGINS_HOME/libを含めます:
    $ export LD_LIBRARY_PATH=/home/myhome/weblogic-plugin-14.1.2.0.0/lib:$LD_LIBRARY_PATH

    ノート:

    'lib'の内容をAPACHE_HOME/libにコピーするか、APACHE_HOME/bin/apachectlを編集してLD_LIBRARY_PATHを更新しても、LD_LIBRARY_PATHを更新できます。

  4. 次のコマンドを使用して、プロキシ・プラグインのzipファイルが解凍されるディレクトリを指すようにPLUGINS_HOMEを設定します:
    export PLUGINS_HOME=/home/myhome/weblogic-plugins-14.1.2.0.0/
  5. 次のコマンドを使用して、OpenSSLライブラリを含むパスをLD_LIBRARY_PATHに含めます:
    export LD_LIBRARY_PATH=/home/myhome/openssl_installation/lib:$LD_LIBRARY_PATH
  6. プロンプトで、次のコマンドを入力してApache HTTPサーバーを起動します。
    $ ${APACHE_HOME}/bin/apachectl start
  7. ブラウザからhttp://apache-host:apache-port/mywebapp/my.jspにリクエストを送信し、レスポンスを確認します。

weblogic.confファイルのhttpd.confファイルへのインクルード

複数の別個の構成ファイルを保持するには、httpd.confファイルの<IfModule>ブロックでApache HTTP ServerのIncludeディレクティブを使用して、weblogic.confという別個の構成ファイルにパラメータを定義できます。

<IfModule mod_weblogic.c>
 # Config file for Oracle WebLogic Server that defines the parameters
 Include conf/weblogic.conf 
</IfModule>

weblogic.confファイルの構文は、httpd.confファイルの構文と同じです。

次の項では、weblogic.confファイルの作成方法を説明し、weblogic.confファイルのサンプルを示します:

weblogic.confファイルを作成するためのルール

weblogic.confファイルの作成時には、次のルールとベスト・プラクティスに注意してください。

  • パラメータをそれぞれ新しい行に入力します。パラメータとその値の間に=を挿入しないでください。たとえば:
    PARAM_1 value1
    PARAM_2 value2
    PARAM_3 value3
  • リクエストが、<IfModule>ブロックのMatchExpressionで指定されたMIMEタイプとLocationブロックで指定されたパスの両方に一致する場合は、<Location>ブロックで指定された動作が優先されます。
  • Apache HTTPサーバーの<VirtualHost>ブロックを使用する場合は、<VirtualHost>ブロック内に仮想ホストのすべての構成パラメータ(MatchExpressionなど)を含める必要があります(http://httpd.apache.org/docs/vhosts/のApache仮想ホストに関するドキュメントを参照)。
  • <Files>ブロックではなくMatchExpression文を使用する必要があります

weblogic.confファイルのサンプルを次に示します:

グローバル構成:
<IfModule mod_weblogic.c>
 WebLogicCluster johndoe02:8005,johndoe:8006
 WLTempDir "/tmp"
 DebugConfigInfo ON
 KeepAliveEnabled ON
 KeepAliveSecs 15
</IfModule>
ロケーション構成:
  • /jurl/*に一致するすべてのリクエストは、/tmp/jurlにPOSTデータ・ファイルを持ち、リクエストをmyClusterおよびポート7001にリバース・プロキシします。
    <Location /jurl>
     WLSRequest On
     WebLogicCluster myCluster:7001
     WLTempDir "/tmp/jurl"
    </Location>
  • /web/*に一致するすべてのリクエストは、/tmp/webにPOSTデータ・ファイルを持ち、リクエストをmyhostおよびポート8001にリバース・プロキシします。
    <Location /web>
     WLSRequest On
     PathTrim /web
     WebLogicHost myhost
     WebLogicPort 8001
     WLTempDir "/tmp/web"
    </Location>
  • /foo/*に一致するすべてのリクエストでは、POSTデータ・ファイルが/tmp/fooに書き込まれ、リクエストがmyhost02およびポート8090にリバース・プロキシされます。
    <Location /foo>
     WLSRequest On
     WebLogicHost myhost02
     WebLogicPort 8090
     WLTempDir "/tmp/foo"
     PathTrim /foo
    </Location>
weblogic.conf構成ファイルのサンプル

次に示すweblogic.confファイルの例は、環境およびサーバーに合せて変更できるテンプレートとして使用できます。#で始まる行はコメントです。

例3-1 WebLogicクラスタの使用

# These parameters are common for all URLs which are 
# directed to the current module. If you want to override
# these parameters for each URL, you can set them again in
# the <Location> or <Files> blocks. 
<IfModule mod_weblogic.c>
 WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
 ErrorPage http://myerrorpage.mydomain.com
 MatchExpression *.jsp
</IfModule>
####################################################

この例で、ファイル名のパターン、HTTPリクエストの転送先となるOracle WebLogic Serverホストおよびその他の様々なパラメータを示すためのMatchExpressionパラメータ構文は、次のとおりです:

MatchExpression [filename pattern] [WebLogicHost=host] | [paramName=value]

次の例の最初のMatchExpressionパラメータでは、ファイル名のパターン*.jspを指定してから、1つのWebLogicHostを指定します。パイプ記号の後に続くparamName=valueの組合せでは、Oracle WebLogic Serverで接続リクエストをリスニングするポートを指定し、デバッグ・オプションを有効にします。2行目のMatchExpressionでは、ファイル名のパターン*.htmlを指定し、WebLogicクラスタのホストおよびそれらのポートを特定します。パイプ記号の後に続くparamName=valueの組合せでは、クラスタのエラー・ページを指定しています。

例3-2 複数のWebLogicクラスタの使用

# These parameters are common for all URLs which are
# directed to the current module. If you want to override
# these parameters for each URL, you can set them again in
# the <Location> or <Files> blocks.
<IfModule mod_weblogic.c>
 MatchExpression *.jsp WebLogicHost=myHost|WebLogicPort=7001|Debug=ON
 MatchExpression *.html WebLogicCluster=myHost1:7282,myHost2:7283|ErrorPage=
 http://www.xyz.com/error.html
</IfModule>

例3-3 WebLogicクラスタなし

# These parameters are common for all URLs which are 
# directed to the current module. If you want to override
# these parameters for each URL, you can set them again in
# the <Location> or <Files> blocks.
<IfModule mod_weblogic.c>
 WebLogicHost myweblogic.server.com
 WebLogicPort 7001
 MatchExpression *.jsp
</IfModule>

例3-4 複数の名前ベースの仮想ホストの構成

# VirtualHost1 = localhost:80
<VirtualHost 127.0.0.1:80>
DocumentRoot "/test/VirtualHost1"
ServerName localhost:80
<IfModule mod_weblogic.c> 
#... WLS parameter ...
WebLogicCluster localhost:7101,localhost:7201
# Example: MatchExpression *.jsp <some additional parameter>
MatchExpression *.jsp PathPrepend=/test2
</IfModule>
</VirtualHost>
 
# VirtualHost2 = 127.0.0.2:80
<VirtualHost 127.0.0.2:80>
DocumentRoot "/test/VirtualHost1"
ServerName 127.0.0.2:80
<IfModule mod_weblogic.c> 
#... WLS parameter ...
WebLogicCluster localhost:7101,localhost:7201
# Example: MatchExpression *.jsp <some additional parameter>
MatchExpression *.jsp PathPrepend=/test2
#... WLS parameter ...
</IfModule>
</VirtualHost>

ServerNameには一意の値を定義する必要があり、そうでない場合は、一部のプロキシ・プラグイン・パラメータが予想どおりに機能しません。

Apache HTTPサーバーのhttpd.confファイルのテンプレート

この項には、Apache HTTP Serverのhttpd.confファイルのサンプルが記載されています。このサンプルをテンプレートとして使用し、ご使用の環境およびサーバーに合せて変更できます。#で始まる行はコメントです。

ノート:

Apache HTTPサーバーでは大文字と小文字が区別されません。

Apache HTTPサーバーのhttpd.confファイルのサンプル

####################################################
# APACHE-HOME/conf/httpd.conf file
####################################################
LoadModule weblogic_module /home/myhome/weblogic-plugins-12.2.1/lib/mod_wl_24.so

<Location /weblogic>
 WLSRequest On
 PathTrim /weblogic
 ErrorPage http://myerrorpage1.mydomain.com
</Location>

<Location /servletimages>
 WLSRequest On
 PathTrim /something
 ErrorPage http://myerrorpage1.mydomain.com
</Location>

<IfModule mod_weblogic.c>
  MatchExpression *.jsp
  WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
  ErrorPage http://myerrorpage.mydomain.com
</IfModule>

WebSocketプロキシ構成について

Apache HTTP Server 2.4.x用14.1.2.0.0 WLS Apacheプラグインでは、WebSocket接続アップグレード・リクエストを処理し、Oracle WebLogic Server 14c (14.1.1.0.0)以降でホストされているWebSocketアプリケーションに効果的にプロキシできます。

WebSocket接続の次のタイムアウト設定を確認します:
  • Apache HTTP Server内でmod_reqtimeoutモジュールを使用する場合は、WebSocket接続を考慮し、構成されているclient timeout値を適切に設定します。
  • mod_reqtimeoutモジュールのHTTPリクエストのデフォルト・タイムアウト値は、Apache HTTP Server 2.2と2.4の間で変更されました。この変更により、WebSocket接続が切断される場合があります。したがって、適切なclient timeout値を使用する必要があります。
  • サービス拒否攻撃などの悪意のある攻撃を回避するには、WebSocket接続に適切なclient timeout値を構成する必要があります。

ノート:

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

ログ・ファイルの検証

Oracle WebLogic Serverプロキシ・プラグイン・ログは、Apache HTTP Serverエラー・ログの一部になりました。接頭辞weblogicを使用して参照を簡単に識別できます:
[weblogic:debug] [pid 6571:tid 139894556022528] ApacheProxy.cpp(875): [client 10.184.61.77:53634] <657114316705052> =========New Request: [GET /weblogic/index.html HTTP/1.1] ======
プロキシ・プラグイン・ログを有効にするには、Apache Webサーバー・ディレクティブLogLeveldebugに設定します。ログは、Apache WebサーバーのErrorLogディレクティブが指すファイルに含まれています。
config file name: httpd.conf
setting: LogLevel debug

また、wl_exportwallet_logという名前の新しいログ・ファイルは、Webサーバーのログ・ファイルが存在するファイル・システム・パスに作成されます。Apache Webサーバー・プロセスの場合、このファイルは$SERVER_ROOT/logs/にあります。

Webサーバー構成で使用されるOracleウォレットは、OpenSSL APIがOracleウォレットに存在するキーおよび証明書にアクセスできるように、ファイル・システム上のPEM形式のファイルにエクスポートする必要があります。これは、export_walletという個別のプロセスをメインWebサーバー・プロセスからフォークすることで行われます。export_walletプロセスは、Webサーバーのログではなく、wl_exportwallet_logに書き込みます。

WLS Apacheプラグイン使用時のクラスタリング・フェイルオーバー

WLS Apacheプラグインをクラスタのフロントエンドとして使用すると、プラグインでは複数の構成パラメータを使用して、WebLogic Serverホストへの接続を待機する時間が判断され、接続の確立後には、プラグインがレスポンスを待機する時間が判断されます:

  • Apacheのidempotentフラグの設定を検証します。idempotentがONに設定されているときに、指定したWLIOTimeoutSecs値内でサーバーが応答しない場合は、プラグインがフェイルオーバーします。idempotentがONに設定され、サーバーがREAD_ERROR_FROM_SERVERなどのエラーで応答する場合にもプラグインはフェイルオーバーします。OFFに設定されている場合、プラグインはフェイルオーバーしません。『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』「Webサーバー・プラグインのパラメータ」を参照してください。

  • WebLogicプロキシ・プラグインの再試行メカニズムの設定を確認します; たとえば、許可される再試行の最大回数が、ConnectTimeoutSecs値をConnectRetrySecs値で除算した値と等しいかどうかなどを確認します。『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』フェイルオーバー、CookieおよびHTTPセッションに関する項を参照してください。

HTTP/2サポートの有効化および構成

HTTP/2プロトコルのメリットを活かすには、フロントエンド接続とバックエンド接続の両方にHTTP/2を使用する必要があります。

フロントエンド接続とバックエンド接続の両方でHTTP/2プロトコルの使用をサポートするには、次のすべてを満たす要があります:
  • Apache Webサーバーが、HTTP/2フロントエンド接続をサポートするよう構成されていること。
  • WLS Apacheプラグインが、HTTP/2バックエンド接続をサポートするよう構成されていること。
  • HTTP/2をサポートするバージョンのWebLogic Serverが使用されていて、WebLogic Serverが、HTTP/2をサポートするよう構成されていること。

    ノート:

    WebLogic Server 14.1.1とWebLogic Server 14.1.2のどちらでもHTTP/2がサポートされており、HTTP/2をサポートするようデフォルトで構成されています。
HTTP/2構成では、次のことが行われます:
  • クライアントにより、Apache WebサーバーへのHTTP/2フロントエンド接続が作成されます(可能な場合):
    • HTTP/1.1のみをサポートするクライアントでは、HTTP/1.1フロントエンド接続がネゴシエートされます。
    • HTTP/2をサポートするクライアントにより、HTTP/2フロントエンド接続が作成されます。
  • WLS Apacheプラグインにより、WebLogic ServerへのHTTP/2バックエンド接続が作成されます。使用されているのがHTTP/1.1とHTTP/2のどちらのフロントエンド接続であるかにかかわらず、HTTP/2バックエンド接続が使用されます。

HTTP/2をサポートするクライアントで使用する場合、そのような構成では、クライアントからApache Webサーバー、Apache WebサーバーからWebLogic Serverへと、HTTP/2をエンドツーエンドで使用できます。このような構成では、HTTP/1.1のみをサポートするクライアントからのHTTP/1.1フロントエンド接続もサポートされます。HTTP/2バックエンド接続の使用は、HTTP/1.1フロントエンド接続を使用するクライアントに対して透過的です。

次の項では、HTTP/2をサポートするよう、Apache WebサーバーおよびWLS Apacheプラグインを有効化して構成する方法を説明します:

Apache WebサーバーでのHTTP2サポートの有効化

mod_http2モジュールを使用して、フロントエンド接続のHTTP/2を有効化します。mod_http2では、実装のベースとしてnghttp2ライブラリ(libnghttp2.so)が使用されます。詳細は、Apache Webサーバー・ガイドで、Apache httpdでのHTTP/2の実装について参照してください。

フロントエンド接続でのHTTP/2サポートの構成

次の手順に従って、Apache WebサーバーでHTTP/2サポートを構成します:
  1. http2_modモジュールをロードします:
    LoadModule http2_module modules/mod_http2.so
  2. サーバー構成に追加する必要がある2つ目のディレクティブは、次のとおりです:
    Protocols h2 http/1.1
  3. これにより、セキュアなバリアントであるh2を、サーバー接続の優先プロトコルにすることができます。すべてのHTTP/2バリアントを有効にする場合は、次のように記述します:
    Protocols h2 h2c http/1.1

WebLogic ApacheプラグインでのHTTP2サポートの有効化

WLS Apacheプラグインでは、バックエンド接続でHTTP/2をサポートするためにnghttp2ライブラリ(libnghttp2.so)が必要です。詳細は、「Apache WebサーバーでのHTTP2サポートの有効化」を参照してください。

バックエンド接続でのHTTP/2サポートの構成

バックエンド接続にHTTP/2を構成するには、weblogic.confファイルにWLProtocolディレクティブを設定する必要があります。

HTTP/2プロトコルが構成されている例
Copy
LoadModule weblogic_module modules/mod_wl_24.so
Listen 4455
<VirtualHost *:4455>
  ServerName vh1.com
  WLSSLWallet /scratch/user/temp/server
  SecureProxy ON
  WLProtocol http/2
  <Location /myApp>
     WLSRequest On
     WebLogicCluster ns1.example.com:7011,ns2.example.com:7011,ns3.example.com:7011
  </Location>
  <Location /myApp2>
     WebLogicHost example.com
     WLSRequest On
     WebLogicPort 7025
  </Location>
</VirtualHost>

ノート:

HTTP/2プロトコルが構成されている場合、次のディレクティブは無視されます:

サーバー・プッシュ機能

サーバー・プッシュ機能は、HTTP/2プロトコルの主な機能の1つです。

Webサイトへのアクセスでは、リクエストおよびレスポンスのパターンに従います。ユーザーがリモート・サーバーにリクエストを送信します。その後、サーバーは、リクエストされたコンテンツを返します。通常、Webサーバーへの最初のリクエストはHTMLドキュメントのリクエストです。このシナリオでは、サーバーはリクエストされたHTMLリソースを返します。HTMLはブラウザによって解析され、スタイル・シート、スクリプト、イメージなどの他のアセットへの参照が検出されます。検出されると、ブラウザはそれらのアセットに対して個別のリクエストを行い、これにサーバーが応答します。このメカニズムの問題は、ブラウザが重要なアセットを検出および取得するのをHTMLドキュメントのダウンロード後までユーザーが待たなければならないことです。これにより、レンダリング時間が遅くなり、ロード時間が長くなります。

サーバー・プッシュ機能は、この問題の解決策です。ユーザーが明示的に要求しなくても、サーバーが先んじてWebサイト・アセットをクライアントにプッシュします。

たとえば、すべてのページがstyles.cssという外部スタイル・シートで定義されているスタイルに依存しているWebサイトを考えてみます。ユーザーがサーバーにindex.htmlをリクエストすると、サーバーがindex.htmlに対するレスポンスの送信を開始した直後に、styles.cssがユーザーに送信されます。ユーザーは、サーバーがindex.htmlを送信するのを待ち、ブラウザがstyles.cssをリクエストして受信するのを待つのではなく、最初のリクエストでサーバーがindex.htmlstyles.cssの両方を応答するのを待つだけで済みます。これにより、ページのレンダリング時間が短縮されます。

サーバー・プッシュ機能を有効にするには、H2Pushディレクティブを構成し、Webサーバー構成ファイルまたはレスポンスでリンク・ヘッダーを使用します。H2Pushディレクティブの構成については、Apache HTTP ServerドキュメントのH2Pushディレクティブに関する項を参照してください。

WLS Apacheプラグインでは、Link.Builder APIを使用して作成されたリンク・ヘッダーがサポートされています。

Webサーバー構成ファイルのリンク・ヘッダーの例:

H2Push on
<Location /xxx.html>
    Header add Link "</xxx.css>;rel=preload"
    Header add Link "</xxx.js>;rel=preload"
</Location>

レスポンスのリンク・ヘッダーの例:

</xxx.css>;rel="preload";type="text/css"
レスポンスでリンク・ヘッダーが送信される場合、サーバー・プッシュ機能を有効にするには、次に示すように、httpd.confファイルでH2Pushonに設定します:
-----config section---
H2Push on
----------------------

ノート:

HTTPServeletRequestからのPushBuilder、およびリンク・ヘッダーとともに103アーリー・ヒントを使用することはサポートされていません。
Windows ApacheでのH2Pushの有効化

Windows Apacheサーバーでは、H2Pushが正しく機能するために必要なheaders_moduleがロードされていることを確認する必要があります。

次のステップを実行してH2Pushを有効にします:

  1. Apacheインストールにあるhttpd.confファイルを開きます。たとえば、C:\Apache2\confです。
  2. #を削除して、httpd.confファイルの次の行をコメント解除します:

    #LoadModule headers_module modules/mod_headers.so

  3. httpd.confファイルを保存します。
  4. Apacheサーバーを再起動します。

プロキシ・プラグインでのIPv6の構成

14.1.2.0.0 WLSプロキシ・プラグインでは、IPv6がサポートされています。具体的には、WebLogicHostおよびWebLogicCluster構成パラメータがIPv6アドレスをサポートするようになりました。

「WebLogicCluster」および「WebLogicHost」を参照してください。

たとえば:

<IfModule mod_weblogic.c>
 WebLogicHost [a:b:c:d:e:f]
 WebLogicPort 7002
 ...
</IfModule>

または

<IfModule mod_weblogic.c>
 WebLogicCluster [a:b:c:d:e:f]:<port>, [g:h:i:j:k:l]:<port>
 
 ....
</IfModule>

IPv6アドレスにマップされているホスト名を使用することもできます。

たとえば:
<IfModule mod_weblogic.c>  
#hostname1 is mapped to IPv6 address in /etc/hosts file
 WebLogicHost hostname1
 WebLogicPort 7002
 ...
</IfModule>
/etc/hostsファイルのサンプル・エントリ:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
::1 hostname1

ノート:

Windows 2008以降、DNSサーバーは、IPv4アドレスよりもIPv6アドレスを優先して返します。IPv4を使用してWindows 2008以降のシステムに接続している場合は、最初にリンクローカルIPv6アドレス形式が試みられ、それによって遅延が顕著となり、パフォーマンスが低下する可能性があります。IPv4アドレス形式を使用するには、構成ファイルでかわりのIPアドレスを使用するようシステムを構成するか、IPv4アドレスをetc/hostsファイルに追加します。

また、構成ファイルでDynamicServerListプロパティをOFFに設定すると、IPv6を使用したパフォーマンスも向上します。OFFに設定すると、プロキシ・プラグインでは、プロキシ・プラグインからプロキシされたロード・バランシング・リクエストに使用される動的クラスタ・リストが無視され、WebLogicClusterパラメータで指定された静的リストが使用されます。

WLS ApacheプラグインのDMSメトリックの理解

WLS Apacheプラグインのパフォーマンス・メトリックは、Oracle Dynamic Monitoring Service (DMS)を介して提供されます。たとえば、プロキシされたリクエストの数、失敗したリクエストの数およびその他の特定のメトリックをフェッチできます。

Oracle WebLogic Server 14.1.2.0.0プロキシ・プラグインのDMSパフォーマンス・メトリックを構成および表示できます。

返されるDMSメトリックについては、「DMS状態メトリック」「DMSイベント・メトリック」および「DMS PhaseEventメトリック」で説明しています。

この項には次のトピックが含まれます:

WLS ApacheプラグインのDMSメトリックの構成

WLS ApacheプラグインのDMSメトリックを構成するには、次のコードをhttpd.confファイルに追加します:

# Add the following LoadModule only if it is not already present
# Use mod_wl_24.so for Apache 2.4
LoadModule weblogic_module $PLUGINS_HOME/mod_wl_24.so

<Location /metrics>
    SetHandler dms-handler
</Location>

WLS Apacheプラグインのパフォーマンス・メトリックの表示

次のURLを使用して名前のメトリックを表示できます:

http://apachehost:apacheport/metrics

ここで、apachehostは、Apacheサーバーのホスト名、apacheportはポート番号です。

WLS Apacheプラグインのメトリックは、/WebLogicProxy [type=WebLogicProxy]セクションにあります。

DMS状態メトリック

状態メトリックは、システムのステータス情報や、イベントに関連付けられていないメトリックを追跡します。状態メトリックの詳細は、表3-4を参照してください。

表3-4 WLS OHSプラグイン・モジュールの状態メトリック

メトリック名 説明

totalDeclines

拒否された(mod_wl_24で処理されない)リクエストの合計数。この数は、構成されていないリクエストまたはプロキシ・プラグインによって拒否されたリクエスト(たとえば、カスタムHTTPメソッドはプロキシ・プラグインによって常に拒否される)を示します

totalErrors

正常に処理できなかったリクエストの数。エラーについては、イベント・メトリックを参照してください。

totalHandled

mod_wl_24プロキシ・プラグインによって処理されたリクエストの合計数。

totalRequests

mod_wl_24によって受信されたリクエストの合計数。この数には、プロキシ・プラグインを対象とするすべてのリクエストと、どのモジュールも対象としない(構成されていない)リクエストが含まれます。

totalRetries

リクエストが再試行された回数。リクエストは、通常、失敗すると再試行されます(構成により異なる)。これまでにリクエストが再試行された場合、このメトリックは増分します(リクエストが再試行された回数に関係なく、リクエストごとに1回)。

totalSuccess

処理に成功したリクエストの数。リクエストの処理が成功した場合(Oracle WebLogic Serverにプロキシされてレスポンスがクライアントに返される)、このメトリックは増分します。

websocketActive

現在アクティブなWebSocketアップグレード・リクエストの数。

websocketClose

終了したWebSocketアップグレード・リクエストの数。WebSocketセッションを(なんらかの理由で)終了する場合、このメトリックが更新されます。

websocketMax

アクティブの可能性がある同時WebSocketリクエストの最大数。

WLMaxWebSocketClientsパラメータを構成する場合、次の値よりも低くなります。

  • 構成値または
  • MaxRequestWorkersの値の0.75 (Apache 2.4)

WLMaxWebSocketClientsパラメータが構成されていない場合、値はMaxRequestWorkersの値の0.5になります(Apache 2.4)。

WLMaxWebSocketClientsパラメータの詳細は、WebSocketアップグレード・リクエストのスループットを高めるためのOracle HTTP Serverのチューニングを参照してください。

websocketPercent

この値を定義するには、次のように、アクティブなWebSocketsの数(websocketActive)を同時WebSocketリクエストの最大数(websocketMax)で除算した値に100を掛けます。

(websocketActive/webocketMax)*100

websocketRequests

作成されたWebSocketアップグレード・リクエストの数。リクエストURIがWebSocketアップグレード・リクエストの場合、このメトリックは増分します。

websocketSuccess

正常に完了したWebSocketアップグレード・リクエストの数。Oracle WebLogic Serverが「101 プロトコルの切替え中」でWebSocketアップグレード・リクエストに応答する場合、このメトリックは更新されます。

DMSイベント・メトリック

DMSイベント・メトリックは、システム・イベントをカウントします。DMSイベントは、継続時間の短いシステム・イベントや、イベントの継続時間よりもイベントの発生が重要な場合のイベントを追跡します。イベント・メトリックの詳細は、表3-5を参照してください。

表3-5 WLS OHSプラグインのイベント・メトリック。

メトリック名 説明

errConnRefused

CONNECTION_REFUSEDエラーの数。構成されたWebLogicHostまたはWebLogicPortに到達できないか、リスニングしない回数を表します。

errNoResources

NO_RESOURCESエラーの数この例外が発生するシナリオの1つは、SSLがプロキシ・プラグインで構成されているが、対応するSSL構成が管理対象サーバーに定義されていない場合です。

errOthers

他のエラーの数。たとえば、POSTデータ・サイズは、MaxPostSizeの値よりも大きくなります。

errReadClient

READ_ERROR_FROM_CLIENTエラーの数。プロキシ・プラグインがクライアント(ブラウザ)から読み取れなかった回数を示します。

errReadServer

READ_ERROR_FROM_SERVERエラーの数。読取り操作がOracle WebLogic Serverで正常に行われなかった回数を表します。

errReadTimeout

READ_TIMEOUTエラーの数。たとえば、WLIOTimeoutSecs内でOracle WebLogic Serverが応答しない場合などがあります。

errWriteClient

WRITE_ERROR_TO_CLIENTエラーの数。プロキシ・プラグインがクライアントに書き込めなかった回数を示します。これは、クライアントがリクエストを送信してもレスポンスの受信前に接続を終了する場合に表示されます。

errWriteWLS

WRITE_ERROR_TO_SERVERエラーの数。プロキシ・プラグインがOracle WebLogic Serverに書き込めなかった回数を示します。

wsClientClose

クライアントにより終了したWebSocketアップグレード・リクエストの数。クライアントがWebSocketアップグレード・リクエストを送信してクライアントが接続を終了する場合、このメトリックは更新されます。

wsErrorClose

エラーが原因で終了したWebSocketセッションの数。WebSocket接続が終了する原因となるエラーがある場合、このメトリックは更新されます。

wsNoUpgrade

WebSocketアップグレード・リクエストが拒否された回数。WebSocketアップグレード・リクエストのレスポンスは「101 プロトコルの切替え中」ではありません。これは、WebSockets (Oracle WebLogic Serverバージョン12.1.2以前)をサポートしないOracle WebLogic Serverにアップグレード・リクエストが送信される場合に発生します。

wsServerClose

サーバーにより終了したWebSocketアップグレード・リクエストの数。Oracle WebLogic ServerがWebSocket通信の終了を開始する場合、このメトリックは更新されます。たとえば、リクエストのアップグレード後のタイムアウトまたは通信なし(デフォルトで5分)など。

DMS PhaseEventメトリック

DMS PhaseEventメトリックは、コード内の特定セクションの開始から終了までにかかる時間を測定します。PhaseEventは、あるメソッドまたはコード・ブロックの時間を追跡します。フェーズ・イベントごとに、「アクティブな件数」、「完了した件数」、「合計時間」、「最小時間」、「最大時間」、「平均時間」の値が含まれます。PhaseEventメトリックの詳細は、表3-6を参照してください。

表3-6 WLS OHSプラグインのPhaseEventメトリック

メトリック名 説明

websocketPhase

進行中のWebSocket通信。「WebSocketアップグレードの成功」から「WebSocket接続の終了」までのフェーズ(時間)

wlsWait

「Oracle WebLogic Serverへのリクエストの送信」から「レスポンスの待機中」までのフェーズ(時間)。

サポートおよびパッチ適用

プロキシ・プラグインで問題が発生した場合は、使用しているプロキシ・プラグインのバージョンを必ずお知らせください。この情報はApacheログにあります。

バージョン情報は、次のスニペットのようになります。

WebLogic Server Plugin version 14.1.2.0.0 <WLSPLUGINS_XXXX_XXXX_XXXXX.XXXX>

ノート:

Linux用のApache Webサーバーでは、次のコマンドを実行してプラグインのバージョンを確認することもできます:
$ strings ${PLUGINS_HOME}/lib/mod_wl_24.so | grep -i wlsplugins

プロキシ・プラグインのパッチには、通常、置き換えられる1つ以上の共有オブジェクトが含まれています。パッチ内の共有オブジェクトに置き換える前に、必ず元のファイルをバックアップしてください。ログ内のバージョン文字列を確認して、パッチが正常に適用されていることを検証してください。

セキュリティ修正の最新の更新は、Oracle Fusion Middlewareのクリティカル・パッチ更新(CPU)パッチ・アドバイザ(ドキュメントID 2806740.2)から入手できます。

Apache HTTPサーバーの非推奨ディレクティブ

WLLogFileおよびDebugディレクティブは非推奨です。構成でこれらのディレクティブが使用されている場合は、起動時に注意書きが表示されます。
[Thu May 14 23:22:19 2015] [warn] weblogic: The Debug directive is ignored.  The web server log level is used instead.

ログファイルの詳細は、「ログ・ファイルの検証」を参照してください。