2 Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインのインストール

Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインをダウンロードしたら、Apache HTTP Serverのインストールでモジュールとしてロードできます。プロキシ・プラグインをダウンロードするには、「Oracle WebLogic Serverプロキシ・プラグインの入手」を参照してください。

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

インストールの前提条件

Apache HTTP Server用Oracle WebLogic Serverプロキシ・プラグインをインストールする前に、必要な前提条件を満たしていることを確認してください。

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

プロキシ・プラグインの取得

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

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

表2-1 Linux用のOracle WebLogic Serverプロキシ・プラグイン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)をインストールします。表2-2に、Apache HTTP Server用14.1.1.0.0プロキシ・プラグインを使用する場合の特定の機能に必要な最小JDKバージョンを示します。

表2-2 最小JDK要件

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

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

バックエンドOracle WebLogic Serverがデプロイされるマシン。 WebサーバーとバックエンドOracle WebLogic Serverの間でTLSv1.3通信を使用。 Oracle JDK 8u261-b12 これは、Transport Layer Security (TLS) 1.3仕様(RFC 8446)の実装を含む最小のJDKバージョンです。したがって、バックエンドOracle WebLogic Serverでは、TLSv1.3プロトコルをサポートするためにこのバージョンのJavaを使用する必要があります。
WebサーバーとバックエンドOracle WebLogic Serverの間の通信にSSL経由のHTTP/2プロトコルを使用。 Oracle JDK 8u261-b12 バックエンドOracle WebLogic Serverでは、SSL経由のHTTP/2プロトコルをサポートするために、このバージョンのJavaを使用する必要があります。

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}

ノート:

Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインは、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のインストールの計画に関する項を参照してください。

Oracle WebLogic Serverプロキシ・プラグインの環境変数の設定

ノート:

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.1.0.0/
  • 次のコマンドを使用して、Apache HTTP Serverがインストールされているホストに存在するJDKを指すようにJAVA_HOMEを設定します:

    ノート:

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

    たとえば:

    export JAVA_HOME=/home/myhome/jdk8

    ノート:

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

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

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

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

Oracle WebLogic Serverプロキシ・プラグインのインストール

Apache HTTP Server用のOracle WebLogic Serverプロキシ・プラグインは、共有オブジェクト(.so)ファイルとして配布されます。プロキシ・プラグインは、Oracle Web Tierのダウンロード・ページまたはSoftware Delivery Cloudから取得できます。

Oracle WebLogic Serverプロキシ・プラグインをインストールするには:

  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用のOracle WebLogic Serverプロキシ・プラグイン・モジュールには、14.1.1.0.0プロキシ・プラグイン・ディストリビューションが付属しています。Apache 2.2.xはサポートされなくなりました。したがって、Apache 2.2.x用のOracle WebLogic Serverプロキシ・プラグイン・モジュールはサポートされなくなりました。引き続きサポートされているApache 2.4.x用のOracle WebLogic Serverプロキシ・プラグイン・モジュールを使用します。

    ノート:

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

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

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

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

    Syntax OK

Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインのインストール後の次のステップ

Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインをインストールしたら、その新しい機能を使用できるようにプロキシ・プラグインの構成を完了する必要があります。

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

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

Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインの新機能を使用するには、次を実行します:

ノート:

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

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

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

Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインは、次のサード・パーティ・ソフトウェアに依存します:

  • OpenSSL、バージョン1.1.1
  • nghttp2、バージョン1.43.0

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

このため、デフォルトでOpenSSL 1.1.1をサポートするLinuxオペレーティング・システムは、Apache Webサーバー用のOracle WebLogic Server 14.1.1.0.0プロキシ・プラグインでサポートされています。詳細は、Oracle Fusion Middlewareのサポートされるシステム構成ページからOracle WebLogic Server (14.1.1.0.0)の動作保証マトリックスをダウンロードしてください。Apache Webサーバー・プロセスがOracle WebLogic Server 14.1.1.0.0プロキシ・プラグイン・モジュールをロードすると、オペレーティング・システムによって提供されるOpenSSLライブラリもプロセス・アドレス領域にロードされます。

nghttp2の場合、依存関係を満たすために次のオプションを使用できます:
  • Apache Webサーバー・インストールで、すでにオープン・ソースのApache Webサーバー・モジュールmod_http2を使用して、フロントエンド接続でH2プロトコルをサポートしている場合があります。この場合、nghttp2ライブラリ(libnghttp2.so)のコピーがあります。同じライブラリを使用して、Oracle WebLogic Serverプロキシ・プラグインのnghttp2に対する依存関係を満たすことができます。これ以外のアクションは必要ありません。
  • Apache Webサーバー・インストールでmod_http2モジュールを使用していない場合、Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインzipファイルの$PLUGINS_HOME/lib/nghttp2の下にnghttp2ライブラリのコピーがあります。このライブラリを使用して、Oracle WebLogic Serverプロキシ・プラグインのnghttp2に対する依存性を満たすことができます。LD_LIBRARY_PATH環境変数をnghttp2ライブラリを含むパスにエクスポートすることで、ライブラリを使用できます。
    たとえば:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PLUGINS_HOME/lib/nghttp2

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

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

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

表2-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 変換なし 変換なし

連邦情報処理標準について

連邦情報処理標準(FIPS)は、Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインではサポートされていません。

FIPSがOracle WebLogic Server側で直接構成されており、フロントエンドApache HTTP Serverを使用してOracle WebLogic Serverプロキシ・プラグインを介してリクエストが行われると、リクエストは失敗します。

サポートされていないユース・ケース

Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインは、mod_ssl.somod_http2などのオープン・ソース・モジュールをロードしてOpenSSLライブラリに依存するように、Apache Webサーバー・プロセスにロードされます。Oracle WebLogic Server 14.1.1.0.0プロキシ・プラグインも、OpenSSLライブラリに依存します。プロキシ・プラグインが依存するOpenSSLのバージョンは、OpenSSL 1.1.1です。

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

OpenSSL 1.1.1とバイナリ互換性のないバージョンのOpenSSLを使用する必要がある場合は、シンボル競合を回避するために必要なステップを実行する必要があります。たとえば、シンボル・バージョニングをサポートするOpenSSLライブラリのバージョンと動的にリンクします。

次のユース・ケースは、実行時にシンボルの競合が原因で発生する不適切な実行時動作(プロセスのクラッシュ)につながるため、サポートされていません:
  • OpenSSL 1.1.1とバイナリ互換性のないバージョンのOpenSSL (OpenSSL 1.0.2など)と静的にリンクされたオープン・ソースのApacheモジュールを使用するApache Webサーバー・プロセスでのOracle WebLogic Server 14.1.1.0.0プロキシ・プラグインの使用。
  • OpenSSL 1.1.1とバイナリ互換性がなく、OpenSSLライブラリがシンボル・バージョニングをサポートしないバージョンのOpenSSLと動的にリンクされたオープン・ソースのApacheモジュールを使用するApache Webサーバー・プロセスでのOracle WebLogic Server 14.1.1.0.0プロキシ・プラグインの使用。

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

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

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

WebLogic Server Plugin version 14.1.1.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)から入手できます。