17 Oracle HTTP Serverのインストールと構成

エンタープライズ・デプロイメントでは、Oracle HTTP Serverを各Web層ホストにインストールし、各ホストでOracle HTTPスタンドアロン・ドメインとして構成する必要があります。

Web層のOracle HTTP Serverインスタンスによって、HTTPリクエストがハードウェア・ロード・バランサからアプリケーション層の特定の管理対象サーバーに転送されます。

Oracle HTTP Serverを構成する前に、Web層についてを確認してください。

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

Oracle HTTP Serverの構成時に使用される変数

この章で説明されている様々なタスクを実行する際に、これらのディレクトリ変数を参照します。

いくつかのディレクトリ変数の値については、「このガイドで使用するファイル・システムとディレクトリ変数」に定義されています。

  • WEB_ORACLE_HOME
  • WEB_DOMAIN_HOME
  • JAVA _HOME

記憶域について

Oracle HTTP Serverをデプロイすると、構成情報はローカルまたは専用NFSボリュームに格納されます。

この後の項では、ローカルという語は、ローカル記憶域またはNFSボリュームのどちらかを指します。Oracle HTTP ServerをOCIにデプロイする場合は、専用NFSボリュームを作成する必要があります。/privateという語は、常に、このプライベート・ストレジ領域(NFSまたはローカル)を指します。

Oracle HTTP Serverドメインについて

エンタープライズ・デプロイメントでは、各Oracle HTTP Serverインスタンスは個別のホストの専用スタンドアロン・ドメインに構成されます。これにより、最小限の構成と最小限のリソースを必要とする単純な構成を実行して管理できます。

ノート:

Oracle Fusion Middlewareでは、動作保証されたJava Development Kit (JDK)がシステムにインストールされており、JAVA_HOMEがWeb層のホストに設定されている必要があります。

Web層のOracle HTTP Serverインスタンスのロールおよび構成の詳細は、「Web層の理解」を参照してください。

サポートされているJDKのインストール

Oracle Fusion Middlewareでは、動作保証されたJava Development Kit (JDK)がシステムにインストールされている必要があります。

インストールは、ソフトウェアのインストールと構成に必要な権限を持つoracle userによって実行される必要があります。「ソフトウェア所有者アカウントの作成」を参照してください。

JDKソフトウェアの検索とダウンロード

動作保証されているJDKを調べるには、Oracle Fusion Middlewareのサポートされるシステム構成ページで、ご使用のリリース向けの動作保証ドキュメントを参照してください。

現在のOracle Fusion MiddlewareリリースのOracle JDKを特定したら、Oracle Technology Networkの次の場所からOracle JDKをダウンロードできます。

http://www.oracle.com/technetwork/java/index.html

Java SE JDKのダウンロードに必ず移動してください。

JDKソフトウェアのインストール

JDKを次の場所にインストールする必要があります。

Web層の各ホスト・コンピュータのローカル記憶域デバイスDMZに配置されるWeb層ホスト・コンピュータは、アプリケーション層の共有記憶域に必ずしもアクセスできるとはかぎりません。

JDK 1.8.0_211をインストールするには:
  1. ディレクトリを、JDKアーカイブ・ファイルをダウンロードした場所に変更します。
    cd download_dir
  2. JDKホーム・ディレクトリにアーカイブを解凍してから、次のコマンドを実行します。
    tar -xzvf jdk-8u201-linux-x64.tar.gz
    ここに記載されたJDKバージョンは、このドキュメントの発行時点のものです。サポートされている最新のJDKについては、Oracle Fusion Middlewareのシステム要件と仕様で現在のOracle Fusion Middlewareリリースを参照してください。
  3. JDKディレクトリを、ディレクトリ構造内の推奨される場所に移動します。
    たとえば:
    mv ./jdk1.8.0_211 /u02/oracle/products/jdk
  4. ホスト・コンピュータでJavaを実行するためのJAVA_HOMEおよびPATH環境変数を定義します。
    たとえば:
    export JAVA_HOME=/u02/oracle/products/jdk
    export PATH=$JAVA_HOME/bin:$PATH
  5. 次のコマンドを実行して、適切なjava実行可能ファイルがそのパスにあり、環境変数が適切に設定されていることを確認します。
    java -version
    出力のJavaバージョンは1.8.0_211と表示されます。

WEBHOST1へのOracle HTTP Serverのインストール

Oracle Universal Installerを使用して、Web層にOracle HTTP Serverソフトウェアをインストールします。手順が完了したら、インストールを確認します。

インストールは、ソフトウェアのインストールと構成に必要な権限を持つoracle userによって実行される必要があります。「ソフトウェア所有者アカウントの作成」を参照してください。

インストールは、ソフトウェアのインストールと構成に必要な権限を持つoracle userによって実行される必要があります。「ソフトウェア所有者アカウントの作成」を参照してください。

WEBHOST1でのインストーラの起動

インストール・プログラムを起動するには、次のステップを実行します。

  1. WEBHOST1にログインします。
  2. インストール・プログラムをダウンロードしたディレクトリに移動します。
  3. 次のコマンドを入力してインストール・プログラムを起動します

    ./fmw_12.2.1.4.0_ohs_linux64.bin

    インストール・プログラムが表示されると、インストールを開始する準備ができています。

    ノート:

    Oracle Linux 8にインストールしていて、次のパッケージが存在しないために前提条件チェックが失敗した場合:
    • compat-libcap1-1.10
    • compat-libstdc++-33-3.2.3-x86_64

    この場合、これらを無視して続行できます。これらのパッケージは、Oracle Linux 8には存在しません。

    続行するには、次のコマンドを使用するとインストールを開始できます:
    ./fmw_12.2.1.4.0_ohs_linux64.bin -ignoreSysPrereqs

Oracle HTTP Serverのインストール画面のナビゲート

次の表は、インストール・プログラムで表示される順序に画面を示しています。

インストール画面に関して詳細な情報が必要な場合は、画面の「ヘルプ」ボタンをクリックしてください。

表17-1 Oracle HTTP Serverのインストール画面

画面 説明

インストール・インベントリの設定

UNIXオペレーティング・システムでは、このホストにOracle製品を初めてインストールする場合に、この画面が表示されます。中央インベントリを作成する場所を指定します。この画面で選択したオペレーティング・システム・グループ名には、中央インベントリの場所への書込み権限があることを確認してください。

『Oracle Universal Installerによるソフトウェアのインストール』Oracleセントラル・インベントリに関する項を参照してください。

ノート:

中央インベントリ・ディレクトリを製品ディレクトリ内に構成することをお薦めします。例: /u02/oracle/products/oraInventory

また、インストーラが完了したら、createCentralinventory.shスクリプトもrootとしてoraInventoryフォルダから実行する必要があります。

ようこそ

製品のインストーラの紹介画面です。

自動更新

この画面を使用して、使用可能なパッチを「My Oracle Support」で自動的に検索するかユーザーの組織のためにすでにダウンロードされているパッチを、ローカル・ディレクトリで自動的に検索します。

インストールの場所

この画面を使用してOracleホーム・ディレクトリの位置を指定します。

エンタープライズ・デプロイメントのためには、表4-5に示すWEB_ORACLE_HOME変数の値を入力します。

インストール・タイプ

「スタンドアロンHTTPサーバー(WebLogic Serverとは切り離して管理)」を選択します。

このインストール・タイプを使用すると、既存のOracle WebLogic Serverドメインとは切り離してOracle HTTP Serverインスタンスを構成できます。

JDKの選択

JDKホームには、JDKソフトウェアのインストール時に設定したJAVA_HOMEの値を入力します。

前提条件チェック

この画面では、ご使用のシステムが最小要件を満たしていることを検証します。

警告またはエラー・メッセージが表示された場合、ホスト・コンピュータおよび必須ソフトウェアが「ホスト・コンピュータのハードウェア要件」および「エンタープライズ・デプロイメント・トポロジのオペレーティング・システム要件」に示すシステム要件および動作保証情報を満たしていることを確認してください。

インストールの概要

この画面を使用して、選択したインストール・オプションを検証できます。これらのオプションをレスポンス・ファイルに保存する場合は、「レスポンス・ファイルの保存」をクリックし、レスポンス・ファイルの場所と名前を指定します。レスポンス・ファイルは、今後、サイレント・インストールを実行する場合に使用できます。

『Oracle Universal Installerによるソフトウェアのインストール』で、サイレント・モードにおけるOracle Universal Installerの使用方法に関する項を参照してください。

インストールの進行状況

この画面では、インストールの進行状況を参照できます。

インストール完了

インストールが完了すると、この画面が表示されます。この画面の情報を確認してから、「終了」をクリックしてインストーラを閉じます。

Oracle HTTP Serverインストールの確認

WEB_ORACLE_HOMEフォルダの内容を検証して、Oracle HTTP Serverのインストールが正常に完了していることを確認してください。

次のコマンドを実行し、インストールしたフォルダ構造を次のリストと比較します。

ls --format=single-column WEB_ORACLE_HOME

次のファイルおよびディレクトリが、Oracle HTTP Server Oracleホームにリストされています。

bin
cdata
cfgtoollogs
crs
css
cv
has
install
inventory
jlib
ldap
lib
network
nls
ohs
OPatch
oracle_common
oracore
oraInst.loc
oui
perl
plsql
plugins
precomp
QOpatch
racg
rdbms
slax
sqlplus
srvm
webgate
wlserver
xdk

WEBHOST1でのOracle HTTP Serverドメインの作成

構成ウィザードを使用して、最初のWeb層ホストに新しいOracle HTTP Serverスタンドアロン・ドメインを作成できます。

WEBHOST1での構成ウィザードの起動

構成ウィザードを起動するには、次のディレクトリに移動し、次のようにWebLogic Server構成ウィザードを起動します。

cd WEB_ORACLE_HOME/oracle_common/common/bin
./config.sh

Oracle HTTP Serverドメインの構成ウィザード画面のナビゲート

Web層ホスト上にOracle HTTP Serverインスタンスのスタンドアロン・ドメインを作成することをお薦めします。

次の項では、新しいスタンドアロンOracle HTTP Serverドメインを作成する方法を説明します。

タスク1   ドメイン・タイプとドメイン・ホームの場所の選択

「構成タイプ」画面で、「新規ドメインの作成」を選択します。

「ドメインの場所」フィールドで、WEB_DOMAIN_HOME変数に割り当てられている値を入力します。

次のことに注意してください:

  • 構成ウィザードにより、ここでの指定に従って新しいディレクトリが作成されます。

  • WebサーバーにDMZ外部の記憶域デバイスに対する依存関係が発生しないよう、ローカル記憶域にディレクトリを作成します。

ノート:

タスク2   構成テンプレートの選択

「テンプレート」画面で、Oracle HTTP Server (スタンドアロン) - 12.2.1.4.0 [ohs]を選択します。

ヒント:

この画面に示されるオプションの詳細は、Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成テンプレートに関する項を参照してください。

タスク3   Web層ドメインのJDKの選択。

Oracle HTTP Serverのインストールの前に/u02/oracle/products/jdkディレクトリにインストールされたOracle HotSpot JDKを選択します。

タスク4   システム・コンポーネントの構成

「システム・コンポーネント」画面で、1つのOracle HTTP Serverインスタンスを構成します。この画面では、デフォルトで1つのインスタンスが定義されています。作成する必要のあるインスタンスは、これ1つのみです。

  1. 「システム・コンポーネント」フィールドのデフォルトのインスタンス名はohs1です。WEBHOST1の構成時にこのデフォルト名を使用します。

  2. 「コンポーネント・タイプ」フィールドで、OHSが選択されていることを確認します。

  3. アプリケーションが応答しない場合、「再起動間隔秒数」フィールドを使用して、アプリケーションが応答しない場合に再起動を試行する前に待機する秒数を指定します。

  4. 「再起動遅延秒数」フィールドを使用して、再起動を再度試行する前に待機する秒数を指定します。

タスク5   OHSサーバーの構成

「OHSサーバー」画面を使用して、ドメイン内のOHSサーバーを構成します。

  1. 「システム・コンポーネント」ドロップダウン・メニューから、ohs1を選択します。

  2. 「リスニング・アドレス」フィールドにWEBHOST1と入力します。

    残りのフィールドはすべて事前に移入されていますが、組織での必要に応じて値を変更できます。『Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成』で、OHSサーバーに関する項を参照してください。

  3. 「サーバー名」フィールドで、リスニング・アドレスとリスニング・ポートの値を確認します。

    正しくは次のようになります。

    http://WEBHOST1:7777
タスク6   ノード・マネージャの構成

ノード・マネージャのタイプとして「ドメインごとのデフォルトの場所」を選択して、ノード・マネージャのユーザー名とパスワードを指定します。

ノート:

この画面に示されるオプションの詳細は、『構成ウィザードによるWebLogicドメインの作成』ノード・マネージャに関する項を参照してください。

ノード・マネージャの構成については、『Oracle WebLogic Serverノード・マネージャの管理』複数マシンでのノード・マネージャの構成に関する項を参照してください。

タスク7   構成の仕様の確認とドメインの構成

「構成サマリー」画面には、これから作成するドメインに関する詳細な構成情報が表示されます。この画面に示された各項目の詳細を調べて、情報に間違いがないことを確認します。

変更が必要な場合は、「戻る」ボタンを使用するか、ナビゲーション・ペインで画面を選択することで、前の画面に戻ることができます。

ドメイン作成は、「作成」をクリックするまでは開始されません。

終了したら、「構成の進行状況」画面で「次へ」をクリックします。

ヒント:

この画面のオプションの詳細は、『構成ウィザードによるWebLogicドメインの作成』構成サマリーに関する項を参照してください。

タスク8   ドメイン・ホームのメモ

「構成に成功しました」画面で、ドメイン・ホームの場所が表示されます。

ここに表示される情報は、サーバーを起動して管理サーバーにアクセスする際に必要となるため、ノートにとっておいてください。

「終了」をクリックして、構成ウィザードを閉じます。

WEBHOST2でのOracle HTTP Serverドメインのインストールおよび構成

WEBHOST1でOracle HTTP Serverをインストールしてドメインを構成したら、同じタスクをWEBHOST2でも実行する必要があります。

  1. 「WEBHOST1へのOracle HTTP Serverのインストール」の手順を使用して、WEBHOST2にログインし、Oracle HTTP Serverをインストールします。

  2. 「WEBHOST1でのWeb層ドメインの作成」の手順を使用して、WEBHOST2上に新しいスタンドアロン・ドメインを構成します。

    WEBHOST2上のインスタンスにohs2という名前を使用して、各例におけるWEBHOST1の出現箇所をすべてWEBHOST2に置き換え、ohs1の出現箇所をすべてohs2に置き換えるようにしてください。

WEBHOST1およびWEBHOST2でのノード・マネージャおよびOracle HTTP Serverインスタンスの起動

Oracle HTTP Serverインスタンスを起動する前に、両方のホストでノード・マネージャを起動します。

WEBHOST1およびWEBHOST2でのノード・マネージャの起動

Oracle HTTP Serverインスタンスを起動する前に、WEBHOST1およびWEBHOST2でノード・マネージャを起動する必要があります。

  1. WEBHOST1にログインし、次のディレクトリに移動します。
    WEB_DOMAIN_HOME/bin
    
  2. nohupおよびサンプル出力ファイルとしてnodemanager.outを使用して、次の項に示すとおりにノード・マネージャを起動します。
    nohup WEB_DOMAIN_HOME/bin/startNodeManager.sh > WEB_DOMAIN_HOME/nodemanager/nodemanager.out 2>&1 &
    
  3. WEBHOST2にログインし、ステップ1および2を実行します。

Oracle WebLogic Serverノード・マネージャの管理ノード・マネージャの高度な構成を参照。

Oracle HTTP Serverインスタンスの起動

Oracle HTTP Serverインスタンスを起動するには:

  1. WEBHOST1上の次のディレクトリに移動します。
    WEB_DOMAIN_HOME/bin

    WEB_DOMAIN_HOMEディレクトリの場所の詳細は、「このガイドで使用するファイル・システムとディレクトリ変数」を参照してください。

  2. 次のコマンドを入力します。
    ./startComponent.sh ohs1

    ノート:

    Oracle HTTP Serverを起動するたびに、ノード・マネージャのパスワードを指定する必要があります。この動作が望ましくない場合は、Oracle HTTP Serverを最初に起動するときに次のコマンドを使用します。

    ./startComponent.sh ohs1 storeUserConfig

    この際に、ノード・マネージャのパスワードを入力すると暗号化されて保存されます。以後はOracle HTTP Serverの起動および停止時にノード・マネージャのパスワードを入力する必要はありません。

    ノート:

    詳細は、「ノード・マネージャのパスワードの格納」を参照してください。
  3. プロンプトが表示されたら、ノード・マネージャのパスワードを入力します。
  4. WEBHOST2上のohs2インスタンスごとに、ステップ1から3を繰り返します。『Oracle HTTP Serverの管理』の、Oracle HTTP Serverの管理に関する項を参照してください。

ヘルス・チェックの作成

各Oracle HTTP Serverインスタンスにヘルス・チェックを作成します。Oracleでは、障害を回避するために、ヘルス・チェックに特定のページを使用することをお薦めします。

Oracle HTTP Serverがロード・バランサを介してアクセスされる場合、ロード・バランサは、Oracle HTTP Serverからページをリクエストすることで、Oracle HTTP Serverが稼働しているかどうかを定期的にチェックします。デフォルトのヘルス・チェックでは、サーバーからルート・ページへのアクセスを試みます。WebGateを使用する場合は、ヘルス・チェックが失敗する可能性があるため、このページがインターセプトされないようにする必要があります。

セキュリティ・リスクを引き起こす可能性があるため、ヘルス・チェックの目的でルート・ページを開くことはお薦めしません。ヘルス・チェックにのみ使用される特定のページを使用することをお薦めします。

サーバー・ステータス・ページを有効にしてページをチェックすることもできます。ただし、サーバー・ステータス・ページには、公開されるとセキュリティ・リスクを引き起こす可能性のある多くの情報が含まれます。これを回避するため、ヘルス・チェックの目的でHTTPサーバーに(機密情報を除外した)専用ページを作成できます。

WebGateバイパスを作成する場合は、ヘルス・チェック・リクエストが(インターネットからではなく)特定のソースからのみ送信されるようにロック・ダウンする必要があります。

単純なヘルス・チェック・ページを作成するには、各Oracle HTTP Serverインスタンスで次のステップを実行します:

  1. 次のように、WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/<OHS_NAME>/htpdocsディレクトリにhealth-check.htmlという名前のファイルを作成します:
    
    <!DOCTYPE html>
    <html>
    <body> 
    
    <h1>OK</h1> 
     
    </body>
    </html>
  2. http://WEBHOST1.example.com:7777/health-check.htmlにアクセスして、ページを表示できるかどうかを確認します。

    「OK」というメッセージを含むページが表示されます。

    ノート:

    ロード・バランサの構成時に/health-check.htmlをチェックしていることを確認してください。

構成のバックアップ

ベスト・プラクティスとして、ドメインを正常に拡張した後や別の論理ポイントで構成をバックアップすることをお薦めします。必ずここまでのインストールが成功していることを確認してからバックアップしてください。これは、後のステップで問題が発生した場合に即座にリストアを実行できるクイック・バックアップです。

Kubernetes環境では、永続ボリュームとデータベースをバックアップすれば十分です。

バックアップ先はローカル・ディスクです。エンタープライズ・デプロイメント設定が完了すると、このバックアップは破棄できます。エンタープライズ・デプロイメント設定が完了したら、バックアップとリカバリの通常のデプロイメント固有プロセスを開始できます。

構成をバックアップする方法の詳細は、「エンタープライズ・デプロイメントのバックアップとリカバリの実行」を参照してください。

アプリケーション層にリクエストをルーティングするためのOracle HTTP Serverの構成

Webサーバー・インスタンスがリクエストをドメイン内のサーバーにルーティングするようにOracle HTTP Server構成ファイルを更新します。

エンタープライズ・デプロイメント用のOracle HTTP Server構成について

次の各項では、エンタープライズ・デプロイメントの各WEBHOST上のOracle HTTP Server構成ファイルに必要な変更に関する概要を示します。

Oracle HTTP Server仮想ホストの目的

このガイドの参照用トポロジでは、ハードウェア・ロード・バランサで一連の仮想サーバーを定義することが必要になります。Oracle HTTP Serverインスタンスの構成ファイルに<VirtualHost>ディレクティブを追加して、(ロード・バランサ仮想サーバーにマップされた)固有の仮想ホストへのリクエストを認識するようにOracle HTTP Serverを構成できます。

各Oracle HTTP Server仮想ホストについては、ロード・バランサからOracle HTTP Serverインスタンスを経由してOracle WebLogic Serverドメイン内の該当する管理サーバーまたは管理対象サーバーにリクエストをルーティングする特定のURL (またはコンテキスト文字列)のセットを定義します。

<VirtualHost>ディレクティブのWebLogicClusterパラメータについて

Oracle HTTP Serverの<VirtualHost>ディレクティブのキー・パラメータは、Oracle HTTP ServerのWebLogicプロキシ・プラグインの一部であるWebLogicClusterパラメータです。エンタープライズ・デプロイメント用にOracle HTTP Serverを構成する場合は、Oracle HTTP Server構成ファイルにこのパラメータを追加するときに次の情報を考慮してください。

Kubernetes環境では、WebLogic Serverはポッドにデプロイされ、これらのポッドは内部Kubernetesホスト名を使用します。これらのホスト名は、Kubernetesクラスタの外部では解決できません。Kubernetesは、Kubernetesサービスを使用してWebLogic Serverポッドと対話します。このサービスは、WebLogic管理対象サーバー・ポッドの追加や削除が行われると、動的に拡張および縮小します。

Kubernetes環境のWebLogicClusterパラメータで指定されたサーバーは、WebLogic管理対象サーバー・ポッドを直接参照できません。それらは、Kubernetesサービスを使用して対話する必要があります。Kubernetesサービスは、マップされたKubernetesポートを介してKubernetesワーカー・ホストで公開されます。NodePortサービスを使用している場合、サービスごとに一意のポートがあります。イングレス・コントローラを使用している場合は、すべてのサービスに単一のポートを使用します。

従来のオンプレミス・デプロイメントでは、WebLogicClusterディレクティブは、WebLogic Serverホストおよび対応するポートを参照します。Kubernetes環境では、WebLogicClusterディレクティブは、Kubernetesワーカー・ノードおよび公開されたKubernetesサービスのマップ済ポートを参照する必要があります。リクエストをワーカー・ノードにルーティングするネットワーク・ロード・バランサを作成した場合は、これをホスト名として指定できます。

WebLogicポッドの追加/削除が行われると、Kubernetesサービスは動的に拡張および縮小するため、クラスタ内のすべてのWebLogic管理対象サーバー間でロード・バランシングするには、WeblogicClusterパラメータでKubernetesワーカー・ノードおよび公開ポートを参照すれば十分です。

ただし、WeblogicClusterディレクティブに1つのワーカー・ノードのみを含めると、そのワーカー・ノードに障害が発生してクラスタが稼働し続けている場合、システムは動作を中断します。この障害の影響を軽減するため、必ず、WebLogicClusterディレクティブに複数のワーカー・ノード(すべてでなくてもかまいません)またはネットワーク・ロード・バランサを含めてください。

WebLogicClusterディレクティブに関連付けられているのは、DynamicServerListディレクティブです。有効になっている場合(デフォルト・オプション)、新しい管理対象サーバーをクラスタに追加すると、クラスタが変更されたときにOracle HTTP Server構成を変更する必要がないように、それが実行されているサーバーはOracle WebLogicClusterディレクティブに公開されます。このオプションは、従来のデプロイメントで適切に機能します。ただし、Kubernetesデプロイメントでは、クラスタの外部で内部ホスト名を解決できないため、問題が発生します。また、Kubernetesサービスが同じ機能を提供するため、これは不要です。そのため、Kubernetesクラスタにリクエストを送信するOracle HTTP Serverでは、WebLogicディレクティブのDynamicServerListfalseに設定する必要があります。

Oracle HTTP Server構成ファイルの推奨構造

httpd.confファイルに複数の仮想ホスト定義を追加するのではなく、デプロイする製品に必要な各仮想サーバーに対してより小さくより具体的な別個の構成ファイルを作成することをお薦めします。そうすることで、すでに大きなhttpd.confファイルに追加のコンテンツを移入するのを回避できます。また、構成の問題のトラブルシューティングが容易になることがあります。

たとえば、通常のOracle Fusion Middleware Infrastructureドメインでは、admin_vh.confという名前の特定の構成ファイルを追加できます。この構成ファイルには、管理サーバー仮想ホスト(ADMINVHN)の仮想ホスト定義が含まれています。

仮想ホスト構成ファイルを追加するためのhttpd.confファイルの変更

次のタスクを実行して、エンタープライズ・トポロジに必要な追加の仮想ホストのhttpd.confファイルを準備します。

  1. WEBHOST1にログインします。

  2. ドメイン・ディレクトリで最初のOracle HTTP Serverインスタンス(ohs1)のhttpd.confファイルを見つけます。

    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/
    
  3. 次のようにして、httpd.confファイルが適切に構成されているかどうか確認します。

    1. 次のコマンドを実行して、ServerNameパラメータが正しく設定され、現在のWEBHOSTn用の正しい値が代入されていることを確認します。

      grep "ServerName http" httpd.conf   
      ServerName http://WEBHOST1:7777 
    2. 次のコマンドを実行してmoduleconfサブディレクトリからすべての*.confファイルをインクルードするinclude文があることを確認します。

      grep moduleconf httpd.conf   
      IncludeOptional "moduleconf/*.conf"
    3. いずれかの検証で結果が戻されない場合やコメント・アウトされた結果が戻される場合は、httpd.confファイルをテキスト・エディタで開き、適切な場所に必要な変更を加えます。

      # 
      # ServerName gives the name and port that the server uses to identify itself. 
      # This can often be determined automatically, but we recommend you specify 
      # it explicitly to prevent problems during startup. 
      # 
      # If your host doesn't have a registered DNS name, enter its IP address here. 
      # 
      ServerName http://WEBHOST1:7777 
      #  and at the end of the file:  
      # Include the admin virtual host (Proxy Virtual Host) related configuration 
      include "admin.conf"  
      IncludeOptional "moduleconf/*.conf"
    4. httpd.confファイルを保存します。

  4. WEBHOST2にログインし、ステップ2および3httpd.confファイルに対して実行します(必要に応じてWEBHOST1またはohs1のオカレンスをWEBHOST2またはohs2に置き換えてください)。

サーバー・ランタイム・パラメータを設定するためのhttpd.confファイルの変更

Oracle HTTP Serverは、サーバーの実行時の動作に影響を与えるいくつかの値が、すぐに使用できるように事前に構成されています。ほとんどのデプロイメントでは、これらの値で十分です。しかし、Oracle Identity and Access Managementデプロイメントでは、次の手順を実行してこれらの値を更新することをお薦めします。

  1. WEBHOST1にログインします。

  2. ドメイン・ディレクトリで最初のOracle HTTP Serverインスタンス(ohs1)のhttpd.confファイルを見つけます。

    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/
    
  3. 次の行を含むファイルのセクションを探します。

    <IfModule mpm_worker_module>

  4. このセクションのエントリを更新して、次を反映させます。

    <IfModule mpm_worker_module>
      ServerLimit             20
      StartServers            10
      MaxClients              1500
      MinSpareThreads         200
      MaxSpareThreads         800
      ThreadsPerChild         250
      ThreadLimit             250
      MaxRequestsPerChild     1000  
      MaxRequestWorkers       400 
      MaxConnectionsPerChild  0
     </IfModule>
  5. 次の値を更新します:
    • MaxKeepAliveRequests 0
    • Timeout 300
    • KeepAliveTimeout 10
  6. httpd.confファイルを保存します。

  7. ファイルmod_wl_ohs.confを更新して、次を反映させます:

    
    <IfModule weblogic_module>
       WLDNSRefreshInterval 10
    </IfModule>
  8. ファイルを保存します。

  9. WEBHOST2にログインし、ステップ2および3httpd.confおよびmod_wl_ohs.confファイルに対して実行します(必要に応じて、WEBHOST1またはohs1の出現箇所をWEBHOST2またはohs2に置き換えてください)。

Oracle HTTP Serverウォレットの作成

Oracle Advanced Authenticationなどのバックエンド・アプリケーションでSSLが有効になっている場合、Oracle HTTP ServerがバックエンドのSSL証明書を信頼できるようにする必要があります。この信頼を確立するには、Oracle HTTP Serverでウォレットを作成し、信頼できる証明書を格納する必要があります。

ノート:

イングレスを使用している場合、ウォレットは必要ありません。

OHSウォレットを作成するには、各Webサーバー(WEBHOST1およびWEBHOST2)で次のステップを実行します。ウォレットはOHS Domainフォルダに作成され、ohswalletという名前になります。このガイドの以降の項では、この場所が前提となります。ただし、ウォレットは任意の場所に配置できます。

  1. 環境変数を設定します。

    ORACLE_HOMEOHS_DOMAIN_HOME。また、ORACLE_HOME/binおよびORACLE_HOME/oracle_common/binをPATHに追加します:

    たとえば:

    export ORACLE_HOME=/u02/private/oracle/products/ohs/
    export OHS_DOMAIN_HOME=/u02/private/oracle/config/domains/ohsDomain
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/oracle_common/bin:$PATH
    
  2. 次のコマンドを使用して、ウォレットを作成します:
    orapki wallet create -wallet $OHS_DOMAIN_HOME/ohswallet -auto_login_only
  3. 各Webホスト上で、この手順を繰り返します。
ウォレットへの証明書の追加
  1. 次のコマンドを使用して、証明書をウォレットに追加します:
    orapki wallet add -wallet $OHS_DOMAIN_HOME /ohswallet -trusted_cert -cert <CERTIFICATE_FILE> -auto_login_only
  2. 各Webホスト上で、この手順を繰り返します。

Kubernetesノード・ポート・サービスのポートの取得

この章で説明する各構成手順では、管理対象サーバー/インスタンスまたはマイクロサービスのクラスタのKubernetesノード・ポート・サービスにリクエストを送信するように、Oracle HTTPに指示します。これらの手順では、説明のためにサンプル・ポートを使用します。

実際に使用されているポートを取得するには、次のコマンドを実行します:

kubectl get service -n <NAMESPACE> | grep NodePort | grep <SERVICE_NAME> | awk '{ print $5 }'
個々のノード・ポート・サービスではなくイングレス・コントローラを使用している場合は、各エントリにイングレスNodePortサービスを使用する必要があります。イングレスNodePortを取得するには、次のコマンドを使用します:
kubectl get service -n <INGRESSNS> | grep NodePort | awk '{ print $5 }'
たとえば:
kubectl get service -n ingressns | grep NodePort | awk '{ print $5 }'

リクエストのルーティング

次の各例では、次の形式のルーティング・ルールが示されます:
WeblogicCluster K8worker1.example.com:Port, K8Worker2.example.com:port
ネットワーク・ロード・バランサを定義した場合は、次を使用します:
WeblogicCluster K8workers.example.com:Port, K8Workers.example.com:port

ここで、K8workers.example.comはネットワーク・ロード・バランサの名前です。

イングレス・コントローラを使用している場合、ポートは常にイングレス・コントローラに割り当てられたポートになります。

NodePortサービスを使用している場合、ポートは作成するNodePortサービスに依存します。

仮想ホスト構成ファイルの作成

仮想ホスト構成ファイルを作成するには:

ノート:

仮想ホスト構成ファイルを作成する前に、「Oracle HTTP Server仮想ホストの目的」の説明に従って、必ずロード・バランサで仮想サーバーを構成しておいてください。
  1. WEBHOST1にログインし、ディレクトリを最初のOracle HTTP Serverインスタンス(ohs1)の構成ディレクトリに変更します。
    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/moduleconf
    
  2. Oracle Access Managementを構成している場合は、iadadmin_vh.confファイルを作成して次のディレクティブを追加します:
    <VirtualHost WEBHOST1.example.com:7777>
        ServerName http://iadadmin.example.com:80
        ServerAdmin you@your.address
        RewriteEngine On
        RewriteOptions inherit
        UseCanonicalName On
        RequestHeader set "X-Forwarded-Host" "iadadmin.example.com"
    </VirtualHost>
    

    ノート:

    "X-Forwarded-Host"は、イングレス・コントローラを使用する場合にのみ必要です。
  3. Oracle Access Managementを構成している場合は、login_vh.confファイルを作成して次のディレクティブを追加します:
    <VirtualHost WEBHOST1.example.com:7777>
        ServerName https://login.example.com:443
        ServerAdmin you@your.address
        RewriteEngine On
        RewriteOptions inherit
        UseCanonicalName On
        RequestHeader set "X-Forwarded-Host" "login.example.com"
    </VirtualHost>

    ノート:

    "X-Forwarded-Host"は、イングレス・コントローラを使用する場合にのみ必要です。

    Oracle Advanced AuthenticationをOAMとともに使用している場合は、login_vh.confファイルに次のエントリを追加します:

    <VirtualHost WEBHOST1.example.com:7777>
        ServerName https://login.example.com:443
        ServerAdmin you@your.address
        RewriteEngine On
        RewriteOptions inherit
        UseCanonicalName On
        RequestHeader set "X-Forwarded-Host" "iadadmin.example.com"
        RequestHeader set X-OAUTH-IDENTITY-DOMAIN-NAME "OAADomain"
        RewriteRule ^/oauth2/rest/authorize? /oauth2/rest/authorize?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/token? /oauth2/rest/token?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/token/info? /oauth2/rest/token/info?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/authz? /oauth2/rest/authz?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/userinfo? /oauth2/rest/userinfo?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/security? /oauth2/rest/security?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/userlogout? /oauth2/rest/userlogout?domain=OAADomain [PT,QSA,L]
    </VirtualHost>

    ここで、OAADomainは、OAAのデプロイ時に使用する値と一致していれば、任意の値にできます。

  4. Oracle Identity Governanceを構成している場合は、igdadmin_vh.confファイルを作成して次のディレクティブを追加します。
    <VirtualHost WEBHOST1.example.com:7777>
        ServerName http://igdadmin.example.com:80
        ServerAdmin you@your.address
        RewriteEngine On
        RewriteOptions inherit
        UseCanonicalName On
        RequestHeader set "X-Forwarded-Host" "igdadmin.example.com"
    </VirtualHost>

    ノート:

    "X-Forwarded-Host"は、イングレス・コントローラを使用する場合にのみ必要です。
  5. Oracle Identity Governanceを構成している場合は、prov_vh.confファイルを作成して次のディレクティブを追加します。
    <VirtualHost WEBHOST1.example.com:7777>
        ServerName https://prov.example.com:443
        ServerAdmin you@your.address
        RewriteEngine On
        RewriteOptions inherit
        UseCanonicalName On
        RequestHeader set "X-Forwarded-Host" "prov.example.com"
    </VirtualHost>

    ノート:

    "X-Forwarded-Host"は、イングレス・コントローラを使用する場合にのみ必要です。
  6. Oracle Identity Governanceを構成している場合は、igdinternal_vh.confファイルを作成して次のディレクティブを追加します。
    <VirtualHost WEBHOST1.example.com:7777>
        ServerName http://igdinternal.example.com:7777
        ServerAdmin you@your.address
        RewriteEngine On
        RewriteOptions inherit
        RequestHeader set "X-Forwarded-Host" "igdinternal.example.com"
    </VirtualHost>
    

    ノート:

    "X-Forwarded-Host"は、イングレス・コントローラを使用する場合にのみ必要です。

Oracle Access Manager用のOracle HTTP Serverの構成

Oracle Access Managementクラスタにリクエストを正しくルーティングするように、Oracle Access Manager管理対象サーバー用にOracle HTTP Serverを構成する必要があります。

この項では、次の変数が使用されています:

表17-2 変数とその値のリスト

変数

<OAM_OAM_K8>

OAMのKubernetesサービス・ポート。例: 30410。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

<OAM_ADMIN_K8>

OAM管理サーバーのKubernetesサービス・ポート。例: 30701。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

<OAM_POLICY_K8>

OAMポリシー・サービスのKubernetesサービス・ポート。例: 30510。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

Oracle Access Managementクラスタにリクエストを正しくルーティングするようにWeb層のOracle HTTP Serverインスタンスを構成するには、次の手順を使用して、login.example.com仮想サーバーのパラメータを作成して定義するOracle HTTP Server構成ファイルを追加作成します。oam_server管理対象サーバー用にOracle HTTP Serverを構成するには:

  1. WEBHOST1にログインし、ディレクトリを最初のOracle HTTP Serverインスタンス(ohs1)の構成ディレクトリに変更します。
    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/moduleconf/

    ノート:

    インスタンスの構成ファイルと実行時ファイルにはそれぞれ別のディレクトリがあります。.../OHS/instances/ohsn/*フォルダにある実行時ファイルは、直接編集しないでください。.../OHS/ohsn/*構成ファイルのみ編集します。

  2. login_vh.confファイルで、次の行を<VirtualHost>および</VirtualHost>タグ内に追加します。
    #OAM Entries
    <Location /oam>
        WLSRequest ON
        DynamicServerList OFF
        WLProxySSL ON
        WLProxySSLPassThrough ON
        WLCookieName OAMJSESSIONID
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8> 
    </Location>
    
    <Location /oam/services/rest/auth>
        WLSRequest ON
        DynamicServerList OFF
        WLProxySSL ON
        WLProxySSLPassThrough ON
        WLCookieName OAMJSESSIONID
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
    </Location>
    
    <Location /oam/services/rest/access>
        WLSRequest ON
        DynamicServerList OFF
        WLProxySSL ON
        WLProxySSLPassThrough ON
        WLCookieName OAMJSESSIONID
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
    </Location>
    
    <Location /oamfed>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    # OAM Forgotten Password Page 
    <Location /otpfp/>   
        WLSRequest ON
        DynamicServerList OFF   
        WebLogicCluster K8_WORKER_HOST.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>  
        WLCookieName OAMJSESSIONID   
        WLProxySSL ON   
        WLProxySSLPassThrough ON 
    </Location>
    
    <Location /ms_oauth>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    <Location /oauth2>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    <Location /.well-known/openid-configuration>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        PathTrim /.well-known
        PathPrepend /oauth2/rest
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    <Location /.well-known/oidc-configuration>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        PathTrim /.well-known
        PathPrepend /oauth2/rest
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    <Location /CustomConsent>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    <Location /iam/access>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_OAM_K8>,K8_WORKER_HOST2.example.com:<OAM_OAM_K8>
        WLCookieName OAMJSESSIONID
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
  3. iadadmin_vh.confファイルで、次の行を<VirtualHost>および</VirtualHost>タグ内に追加します。
    <Location /console>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
    
    # WebLogic Remote Console Access
    #
    <Location /management>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
    
    <Location /consolehelp>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
    
    <Location /em>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
    
    <Location /oamconsole>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
    
    <Location /access>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OAM_POLICY_K8>,K8_WORKER_HOST2.example.com:<OAM_POLICY_K8>
        WLCookieName OAMJSESSIONID
    </Location>
    
    <Location /iam/admin>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
    
    <Location /oam/services/rest/11.1.2.0.0>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>                
        WLCookieName OAMJSESSIONID
    </Location>
    
    <Location /oam/services/rest/ssa>
        WLSRequest ON 
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
        WLCookieName OAMJSESSIONID
    </Location>
    
    <Location /oam/services>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8> 
        WLCookieName OAMJSESSIONID
    </Location>
    
    <Location /dms>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OAM_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OAM_ADMIN_K8>
    </Location>
  4. iadadmin_vh.confファイルおよびlogin_vh.confファイルを2つ目のOracle HTTP Serverインスタンス(ohs2)の構成ディレクトリにコピーします。
    WEB_DOMAIN_HOME/config/fmwconfig/components/ohs2/moduleconf/
    
  5. login_vh.confおよびiadadmin_vh.confファイルを編集して、<VirtualHost>ディレクティブ内のWEBHOST1の参照をWEBHOST2の参照に変更します。

Oracle Identity Governance用のOracle HTTP Serverの構成

Oracle SOA Suiteクラスタにリクエストを正しくルーティングするようにWeb層のOracle HTTP Serverインスタンスを構成するには、次の手順を使用して、https://igdinternal.example.com:7777仮想サーバーのパラメータを作成して定義するOracle HTTP Server構成ファイルを追加作成します。

この手順では、「アプリケーション層にリクエストをルーティングするためのOracle HTTP Serverの構成」で説明されているOracle HTTP Server構成タスクが実行済であることを想定しています。

この項では、次の変数が使用されています:

表17-3 変数とその値のリスト

変数

<OIG_OIM_PORT_K8>

OIG OIMサービスのKubernetesサービス・ポート。例: 30140。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

<OIG_ADMIN_K8>

OIG管理サーバー・サービスのKubernetesサービス・ポート。例: 30711。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

<OIG_SOA_PORT_K8>

OIG SOAサービスのKubernetesサービス・ポート。例: 30801。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

リクエストがOracle Identity Governanceクラスタに正しくルーティングされるように仮想ホスト構成ファイルを作成するには:

  1. WEBHOST1にログインし、ディレクトリを最初のOracle HTTP Serverインスタンス(OHS1)の構成ディレクトリに変更します。
    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/moduleconf/
    
  2. prov_vh.confファイルを編集し、次のディレクティブを<VirtualHost>タグ内に追加します。

    ノート:

    • /workflowのURLエントリは省略可能です。これは、Oracle ADFタスク・フォームと関連付けられたワークフロー・タスク用です。/workflowのURL自体は、フォームに応じた別の値とすることができます。

    • 静的または動的クラスタへの割当てに従って、適切なポート番号を構成します。動的クラスタでリスニング・ポートの計算オプションを選択している場合は、作成する動的な管理対象サーバーごとに、増分でポート番号が割り当てられます。

      部分的に停止した場合の初期接続を保証するためにWebLogicClusterディレクトリで必要なのは、十分な数の冗長なserver:portの組合せだけです。クラスタ・メンバーの実際の総リストは、指定された任意のノードとの最初の接続時に自動的に取得されます。

    <Location /identity>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid 
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    <Location /HTTPClnt>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    
    # Requests webservice URL
    <Location /reqsvc>
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLProxySSL ON
        WLProxySSLPassThrough ON
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /FacadeWebApp>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
        WLProxySSL ON
        WLProxySSLPassThrough ON 
    </Location>
    
    <Location /iam>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
        WLProxySSL ON
        WLProxySSLPassThrough ON 
    </Location>
    
    <Location /OIGUI>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
        WLProxySSL ON
        WLProxySSLPassThrough ON
    </Location>
    

    ステップ2と同様に、prov_vh.confファイルが表示されます。

  3. igdadmin_vh.confファイルで、次の行を<VirtualHost>および</VirtualHost>タグ内に追加します。
    ## Entries Required by Oracle Identity Governance
    <Location /console>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OIG_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OIG_ADMIN_K8>
    </Location>
    
    # WebLogic Remote Console Access
    #
    <Location /management>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OIG_ADMIN_K8>
    </Location>
    
    <Location /consolehelp>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OIG_ADMIN_K8>
    </Location>
    
    <Location /em>
        WLSRequest ON
        DynamicServerList OFF
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OIG_ADMIN_K8>
    </Location>
    
    <Location /oim>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /iam>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /sysadmin>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /admin>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    # OIM self service console
    <Location /identity>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /OIGUI>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /FacadeWebApp>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    # Scheduler webservice URL
    <Location /SchedulerService-web>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /dms>
        WLSRequest ON
        DynamicServerList OFF
        WeblogicCluster K8_WORKER_HOST1.example.com:<OIG_ADMIN_K8>,K8_WORKER_HOST2.example.com:<OIG_ADMIN_K8>
    </Location>
  4. igdinternal_vh.confファイルで、次の行を<VirtualHost>および</VirtualHost>タグ内に追加します。
    ## Entries Required by Oracle Identity Governance
    #SOA Callback webservice for SOD - Provide the SOA Managed Server Ports
    
    <Location /sodcheck>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_SOA_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>
    
    # OIM, role-sod profile
    <Location /role-sod>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    # Callback webservice for SOA. SOA calls this when a request is approved/rejected
    # Provide the SOA Managed Server Port
    <Location /workflowservice>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>
    
    # used for FA Callback service.
    <Location /callbackResponseService>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName    oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    # spml xsd profile
    <Location /spml-xsd>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    # OIM, spml dsml profile
    <Location /spmlws>
        WLSRequest ON
        DynamicServerList OFF
        PathTrim /weblogic
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /reqsvc>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>
    
    # SOA Infra
    <Location /soa-infra>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_SOA_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/OHS/component/oim_component.log"
    </Location>
    
    # UMS Email Support
    <Location /ucs>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_SOA_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/OHS/component/oim_component.log"
    </Location>
    
    <Location /provisioning-callback>
        WLSRequest ON
        DynamicServerList 
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /CertificationCallbackService>
       WLSRequest ON
       DynamicServerList OFF
       WLCookieName oimjsessionid
       WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
       WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /IdentityAuditCallbackService>
       WLSRequest ON
       DynamicServerList OFF
       WLCookieName oimjsessionid
       WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
       WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    # SOA Callback webservice for SOD - Provide the SOA Managed Server Ports
    <Location /soa/composer>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_SOA_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>
    
    <Location /integration>
        SetHandler weblogic-handler
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_SOA_PORT_K8>
        WLCookieName oimjsessionid
    </Location>
    
    <Location /sdpmessaging/userprefs-ui>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_SOA_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>
    
    <Location /iam>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1.example.com:<OIG_OIM_PORT_K8>,K8_WORKER_HOST2.example.com:<OIG_OIM_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
    
    <Location /ws_utc>
        SetHandler weblogic-handler
        WLCookieName oimjsessionid
        WebLogicCluster K8_WORKER_HOST1:<OIG_SOA_PORT_K8>,K8_WORKER_HOST2:<OIG_SOA_PORT_K8>
        WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
  5. igdadmin_vh.configdinternal_vh.confおよびprov_vh.confファイルを2番目のOracle HTTP Serverインスタンス(ohs2)の構成ディレクトリにコピーします。
    WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs2/moduleconf/
    
  6. igdadmin_vh.confprov_vh.confおよびigdinternal_vh.confファイルを編集して、<VirtualHost>ディレクティブ内のWEBHOST1への参照をWEBHOST2への参照に変更します。

ノート:

システムで内部呼出しを使用する場合は、soainternal仮想ホストに適切なロケーションを追加してください。

Oracle Identity Role Intelligence用のOracle HTTP Serverの構成

リクエストをOracle Role Intelligenceクラスタに正しくルーティングするように、Oracle Identity Role Intelligence (OIRI)サーバー用にOracle HTTP Serverを構成する必要があります。

この項では、次の変数が使用されています:

表17-4 変数とその値のリスト

変数

<OIRI_UI_K8>

OIRI UIサービスのKubernetesサービス・ポート。例: 30306。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

<OIRI_K8>

OIRIサービスのKubernetesサービス・ポート。例: 30305。イングレス・コントローラを使用している場合、この値はKubernetesコントローラのKubernetesサービス・ポートになります。

Oracle HTTP Serverを構成するには:

  1. WEBHOST1にログインし、ディレクトリを最初のOracle HTTP Serverインスタンス(OHS1)の構成ディレクトリに変更します。
    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/moduleconf/
  2. igdadmin_vh.confファイルを編集し、次のディレクティブを<VirtualHost>タグ内に追加します:
    # OIRI UI
    # <Location /oiri/ui>
         WLSRequest ON
         DynamicServerList OFF
         WLCookieName oimjsessionid
         DynamicServerList OFF
         WebLogicCluster K8_WORKER_HOST1.example.com:<OIRI_UI_K8>,K8_WORKER_HOST2.example.com:<OIRI_UI_K8>
    </Location>
  3. igdinternal_vh.confファイルで、<VirtualHost>タグと</VirtualHost>タグの間に次の行を追加します:
    # OIRI API
    # <Location /oiri/api>
         WLSRequest ON
         DynamicServerList OFF
         WLCookieName oimjsessionid
         DynamicServerList OFF
         WebLogicCluster K8_WORKER_HOST1.example.com:<OIRI_K8>,K8_WORKER_HOST2.example.com:<OIRI_K8>
    </Location>
  4. igdadmin_vh.confおよびigdinternal_vh.confファイルを2番目のOracle HTTP Serverインスタンス(ohs2)の構成ディレクトリ(WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs2/moduleconf/)にコピーします

Oracle Advanced Authentication、Oracle Adaptive Risk ManagementおよびOracle Universal Authenticator用のOracle HTTP Serverの構成

リクエストがOAAマイクロサービスに正しくルーティングされるように、Oracle Advanced Authenticationサーバー用にOracle HTTP Serverを構成する必要があります。

この項では、次の変数が使用されています:

表17-5 変数とその値のリスト

変数

<K8_WORKER_HOST1>

Kubernetesワーカー・ホストの1つの名前。

<K8_WORKER_HOST2>

別のKubernetesワーカー・ホストの名前。

<OAA_ADMIN_K8>

oaa-admin Kubernetesサービスのノード・ポート。例: 31338

<OAA_K8>

oaa-svc Kubernetesサービスのノード・ポート。例: 31047

<OAA_POLICY_K8>

oaa-policy Kubernetesサービスのノード・ポート。例: 31957

<OAA_SPUI_K8>

oaa-spui Kubernetesサービスのノード・ポート。例: 30532

<OAA_FIDO_K8>

oaa-factor-fido Kubernetesサービスのノード・ポート。例: 32438

<OAA_EMAIL_K8>

oaa-factor-email Kubernetesサービスのノード・ポート。例: 30614

<OAA_SMS_K8>

oaa-factor-sms Kubernetesサービスのノード・ポート。例: 31930

<OAA_TOTP_K8>

oaa-factor-totp Kubernetesサービスのノード・ポート。例: 31950

<OAA_YOTP_K8>

oaa-factor-yotp Kubernetesサービスのノード・ポート。例: 31946

<OAA_PUSH_K8>

oaa-factor-push Kubernetesサービスのノード・ポート。例: 31166

<OAA_KBA_K8>

oaa-factor-kba Kubernetesサービスのノード・ポート。例: 31147

<OAA_RISK_ANAL_K8>

risk-analysis Kubernetesサービスのノード・ポート。例: 30507

<OAA_RISKCC_K8>

risk-cc Kubernetesサービスのノード・ポート。例: 30981

<OAA_OUA_K8>

oua Kubernetesサービスのノード・ポート。例: 30520

<OAA_OUAUI_K8>

oua-ui Kubernetesサービスのノード・ポート。例: 30525

<OAA_DRSS>

oaa-drssサービスのノード・ポート。例: 30580

ノート:

この表の実際のノード・ポート値は、OAAをデプロイした後に決定されます。

Oracle HTTP Serverを構成するには:

  1. WEBHOST1にログインし、ディレクトリを最初のOracle HTTP Serverインスタンス(OHS1)の構成ディレクトリに変更します:
    cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/moduleconf/
  2. iadadmin_vh.confファイルを編集し、次のディレクティブを<VirtualHost>タグ内に追加します:
        # OAA
        #
        <Location /oaa-admin>
            WLSRequest ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_ADMIN_K8>,<K8_WORKER_HOST2>:<OAA_ADMIN_K8>
        </Location>
    
        <Location /admin-ui>
            WLSRequest ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_ADMIN_K8>,<K8_WORKER_HOST2>:<OAA_ADMIN_K8>
        </Location>
    
        <Location /oaa-policy>
            WLSRequest ON
            WLCookieName OAMJSESSIONID
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_POLICY_K8>,<K8_WORKER_HOST2>:<OAA_POLICY_K8>
        </Location>
    
        <Location /policy>
            WLSRequest ON
            WLCookieName OAMJSESSIONID
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_POLICY_K8>,<K8_WORKER_HOST2>:<OAA_POLICY_K8>
        </Location>
    
        <Location /risk-cc>
            WLSRequest ON
            WLCookieName OAMJSESSIONID
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_RISKCC_K8>,<K8_WORKER_HOST2>:<OAA_RISKCC_K8>
        </Location>
    
        <Location /oua-admin-ui>
            WLSRequest ON
            WLCookieName OAMJSESSIONID
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_OUAUI_K8>,<K8_WORKER_HOST2>:<OAA_OUAUI_K8>
        </Location>
  3. login_vh.confファイルを編集し、次のディレクティブを<VirtualHost>タグ内に追加します:
        # OAA
        #
        <Location /oaa/runtime>
            WLSRequest ON
            WLProxySSL ON
            WLCookieName OAMJSESSIONID
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_K8>,<K8_WORKER_HOST2>:<OAA_K8>
        </Location>    
    
        <Location /oaa-policyi>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_POLICY_K8>,<K8_WORKER_HOST2>:<OAA_POLICYI_K8>
        </Location>
    
        <Location /policyi>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_POLICY_K8>,<K8_WORKER_HOST2>:<OAA_POLICYI_K8>
        </Location>
    
        <Location /oaa/rui>
            WLSRequest ON
            WLProxySSL ON
            WLCookieName OAMJSESSIONID
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_SPUI_K8>,<K8_WORKER_HOST2>:<OAA_SPUI_K8>
        </Location>
    
        <Location /oaa/authnui>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_SPUI_K8>,<K8_WORKER_HOST2>:<OAA_SPUI_K8>
        </Location>
    
        <Location /fido>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_FIDO_K8>,<K8_WORKER_HOST2>:<OAA_FIDO_K8>
        </Location>
    
        <Location /oaa-email-factor>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_EMAIL_K8>,<K8_WORKER_HOST2>:<OAA_EMAIL_K8>
        </Location>
    
        <Location /oaa-sms-factor>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_SMS_K8>,<K8_WORKER_HOST2>:<OAA_SMS_K8>
        </Location>
    
        <Location /oaa-totp-factor>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_TOTP_K8>,<K8_WORKER_HOST2>:<OAA_TOTP_K8>
        </Location>
    
        <Location /oaa-push-factor>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_PUSH_K8>,<K8_WORKER_HOST2>:<OAA_PUSH_K8>
        </Location>
    
        <Location /oaa-yotp-factor>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_YOTP_K8>,<K8_WORKER_HOST2>:<OAA_YOTP_K8>
        </Location>
    
        <Location /oaa-kba>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_KBA_K8>,<K8_WORKER_HOST2>:<OAA_KBA_K8>
        </Location>
    
        <Location /risk-analyzer>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_RISK_ANAL_K8>,<K8_WORKER_HOST2>:<OAA_RISK_ANAL_K8>
        </Location>
    
        <Location /risk-cc>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_RISKL_K8>,<K8_WORKER_HOST2>:<OAA_RISKL_K8>
        </Location>
    
        <Location /oua>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_OUA_K8>,<K8_WORKER_HOST2>:<OAA_OUA_K8>
        </Location>
    
        <Location /oaa-drss>
            WLSRequest ON
            WLProxySSL ON
            WLProxySSLPassThrough ON
            WLCookieName OAMJSESSIONID
            DynamicServerList OFF
            SecureProxy ON
            WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
            WebLogicCluster <K8_WORKER_HOST1>:<OAA_DRSS_K8>,<K8_WORKER_HOST2>:<OAA_DRSS_K8>
        </Location>
    
    
  4. login_vh.confファイルを編集し、次のものをRewriteEngine Onタグの後に追加します:
        RequestHeader set X-OAUTH-IDENTITY-DOMAIN-NAME "OAADomain"
        RewriteRule ^/oauth2/rest/authorize? /oauth2/rest/authorize?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/token? /oauth2/rest/token?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/token/info? /oauth2/rest/token/info?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/authz? /oauth2/rest/authz?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/userinfo? /oauth2/rest/userinfo?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/security? /oauth2/rest/security?domain=OAADomain [PT,QSA,L]
        RewriteRule ^/oauth2/rest/userlogout? /oauth2/rest/userlogout?domain=OAADomain [PT,QSA,L]

    ここで、OAADomainはOAAドメインの名前です。この値がOAAのインストール時に使用する値と一致していることを確認します。「Oracle Advanced Authentication、Oracle Adaptive Risk ManagementおよびOracle Universal Authenticatorのインストールおよび構成」を参照してください。

  5. iadadmin_vh.confおよびlogin_vh.confファイルを2つ目のOracle HTTP Serverインスタンス(OHS2)の構成ディレクトリにコピーします:
    WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs2/moduleconf/

OHSインスタンスの再起動

構成ファイルを各WEBHOSTにコピーしたことを確認し、各ホストでOracle HTTP Serviceインスタンスを再起動します。

これを行うには:
  1. 次を実行して、ohs1インスタンスを再起動します。
    1. ディレクトリを次の場所に変更します。
      cd WEB_DOMAIN_HOME/bin
    2. 次のコマンドを入力し、インスタンスを停止および起動します。
      ./stopComponent.sh ohs1
      ./startComponent.sh ohs1
  2. 次を実行して、ohs2インスタンスを再起動します。
    1. ディレクトリを次の場所に変更します。
      cd WEB_DOMAIN_HOME/bin
    2. 次のコマンドを入力し、インスタンスを停止および起動します。
      ./stopComponent.sh ohs2
      ./startComponent.sh ohs2

Oracle HTTP Serverの構成の検証

Oracle HTTP Serverが正常に動作するようにするには、Oracle Identity Management製品を構成した後、いくつかの検証を実行する必要があります。

ロード・バランサを介したアクセスの検証

URLを検証して、Oracle HTTP ServerからOAM_Clusterへのルーティングとフェイルオーバーが適切に機能することを確認します。
URLの検証
URLを検証するには:
  1. oam_server2が稼働している状態で、WebLogic Server管理コンソールを使用してoam_server1を停止します。
  2. https://login.example.com/oam/server/logoutにアクセスします。
  3. WebLogic Server管理コンソールからoam_server1を起動します。
  4. WebLogic Server管理コンソールからoam_server2を停止します。
  5. http://login.example.com/oam/server/logoutにアクセスします。
クラスタ・ノードを検証できます。このクラスタ・ノードは、ロード・バランサを介してトラフィック・バランシングが行われ、再びWeb層を介してトラフィック・バランシングが行われた後で転送されるクラスタ・ノードです。

仮想サーバー構成とコンソールへのアクセスの検証

ロード・バランサの仮想サーバー構成と、管理コンソールおよび管理サーバーへのアクセスを検証します。

ロード・バランサから次のURLにアクセスして、ロード・バランサとOracle HTTP Serverが正しく構成されていることを確認します。これらのURLは、Oracle HTTP Server 12cの初期Webページを示しています。

  • https://login.example.com/index.html
  • https://prov.example.com/index.html
  • http://iadadmin.example.com/index.html
  • http://igdadmin.example.com/index.html

次のハードウェア・ロード・バランサへのURLを使用してOracle WebLogic Server管理コンソールを表示し、Oracle WebLogic Serveriadadmin資格証明を使用してログインします。

  • http://iadadmin.example.com/console
  • http://iadadmin.example.com/em

これによって、ロード・バランサ上のiadadmin.example.com仮想ホストがWeb層のOracle HTTP Serverインスタンスにリクエストをルーティングでき、さらに、このOracle HTTP ServerインスタンスがOracle WebLogic Server管理コンソールのリクエストをアプリケーション層の管理サーバーにルーティングできることが検証されます。

同様に、次のURLを使用してigdadmin仮想ホスト用のWebLogic Server管理コンソールとFusion Middleware Controlにアクセスできます:

  • http://igdadmin.example.com/console
  • http://igdadmin.example.com/em

サンプル仮想ホスト・ファイル

サンプル・リストには、Oracle Identity and Access Managementデプロイメントで使用されるすべての仮想ホスト・ファイルの完全な例が含まれています。

例1   login_vh.conf
<VirtualHost WEBHOST1.example.com:7777>
    ServerName https://login.example.com:443
    ServerAdmin you@your.address
    RewriteEngine On
    RequestHeader set X-OAUTH-IDENTITY-DOMAIN-NAME "OAADomain"
    RewriteOptions inherit
    UseCanonicalName On
    RequestHeader set "X-Forwarded-Host" "login.example.com"
    RequestHeader set X-OAUTH-IDENTITY-DOMAIN-NAME "OAADomain"
    RewriteRule ^/oauth2/rest/authorize? /oauth2/rest/authorize?domain=OAADomain [PT,QSA,L]
    RewriteRule ^/oauth2/rest/token? /oauth2/rest/token?domain=OAADomain [PT,QSA,L]
    RewriteRule ^/oauth2/rest/token/info? /oauth2/rest/token/info?domain=OAADomain [PT,QSA,L]
    RewriteRule ^/oauth2/rest/authz? /oauth2/rest/authz?domain=OAADomain [PT,QSA,L]
    RewriteRule ^/oauth2/rest/userinfo? /oauth2/rest/userinfo?domain=OAADomain [PT,QSA,L]
    RewriteRule ^/oauth2/rest/security? /oauth2/rest/security?domain=OAADomain [PT,QSA,L]
    RewriteRule ^/oauth2/rest/userlogout? /oauth2/rest/userlogout?domain=OAADomain [PT,QSA,L]

    #OAM Entries
    <Location /oam>
      WLSRequest ON
      DynamicServerList OFF
      WLProxySSL ON
      WLProxySSLPassThrough ON
      WLCookieName OAMJSESSIONID
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410 
    </Location>

    <Location /oam/services/rest/auth>
      WLSRequest ON
      DynamicServerList OFF
      WLProxySSL ON
      WLProxySSLPassThrough ON
      WLCookieName OAMJSESSIONID
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
    </Location>

    <Location /oam/services/rest/access>
      WLSRequest ON
      DynamicServerList OFF
      WLProxySSL ON
      WLProxySSLPassThrough ON
      WLCookieName OAMJSESSIONID
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
    </Location>

    <Location /oamfed>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>

    # OAM Forgotten Password Page 
    <Location /otpfp/>   
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410  
      WLCookieName OAMJSESSIONID   
      WLProxySSL ON   
      WLProxySSLPassThrough ON 
    </Location>

    <Location /ms_oauth>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>

    <Location /oauth2>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>
    
    <Location /.well-known/openid-configuration>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      PathTrim /.well-known
      PathPrepend /oauth2/rest
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>

    <Location /.well-known/oidc-configuration>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      PathTrim /.well-known
      PathPrepend /oauth2/rest
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>

    <Location /CustomConsent>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>

    <Location /iam/access>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30410,k8workerhost2.example.com:30410
      WLCookieName OAMJSESSIONID
      WLProxySSL ON
      WLProxySSLPassThrough ON    
    </Location>

    # OAA
    #
    <Location /oaa/runtime>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31047,k8workerhost2.example.com:31047
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-policy>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        WLCookieName OAMJSESSIONID
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31957,k8workerhost2.example.com:31957
    </Location>

    <Location /policy>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31957,k8workerhost2.example.com:31957
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa/rui>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30532,k8workerhost2.example.com:30532
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa/authnui>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30532,k8workerhost2.example.com:30532
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /fido>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:32438,k8workerhost2.example.com:32438
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-email-factor>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30614,k8workerhost2.example.com:30614
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-sms-factor>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31930,k8workerhost1.example.com:31930
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-totp-factor>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31950,k8workerhost1.example.com:31950
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-push-factor>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31166,k8workerhost2.example.com:31166
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-yotp-factor>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31946,k8workerhost2.example.com:31946
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa/kba>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31147,k8workerhost2.example.com:31147
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /risk-analyzer>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30507,k8workerhost2.example.com:30507
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /risk-cc>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30981,k8workerhost2.example.com:30981
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oua>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30520,k8workerhost2.example.com:30520
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oaa-drss>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30580,k8workerhost2.example.com:30580
        WLCookieName OAMJSESSIONID
    </Location>

    <Location /oua/rui>
        WLSRequest ON
        WLProxySSL ON
        WLProxySSLPassThrough ON
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30580,k8workerhost2.example.com:30580
        WLCookieName OAMJSESSIONID
    </Location>
</VirtualHost>
例2   prov_vh.conf
<VirtualHost WEBHOST1.example.com:7777>
    ServerName https://prov.example.com:443
    ServerAdmin you@your.address
    RewriteEngine On
    RewriteOptions inherit
    UseCanonicalName On
    RequestHeader set "X-Forwarded-Host" "prov.example.com"

    <Location /identity>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>		

    <Location /HTTPClnt>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>		

    # Requests webservice URL
    <Location /reqsvc>
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLProxySSL ON
      WLProxySSLPassThrough ON
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /FacadeWebApp>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
      WLProxySSL ON
      WLProxySSLPassThrough ON 
    </Location>

    <Location /iam>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
      WLProxySSL ON
      WLProxySSLPassThrough ON 
    </Location>

    <Location /OIGUI>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
      WLProxySSL ON
      WLProxySSLPassThrough ON
    </Location>
</VirtualHost>
例3   iadadmin_vh.conf
<VirtualHost WEBHOST1.example.com:7777>
    ServerName iadadmin.example.com:80
    ServerAdmin you@your.address
    RewriteEngine On
    RewriteOptions inherit
    UseCanonicalName On
    RequestHeader set "X-Forwarded-Host" "iadadmin.example.com"

    # Admin Server and EM
    <Location /console>
       WLSRequest ON
       DynamicServerList OFF
       WebLogicCluster k8workerhost1.example.com:30701,k8workerhost2.example.com:30701
    </Location>

    # WebLogic Remote Console Access 
    #  
    <Location /management>
       WLSRequest ON
       DynamicServerList OFF
       WebLogicCluster k8workerhost1.example.com:30711,k8workerhost2.example.com:30711
    </Location>

    <Location /consolehelp>
       WLSRequest ON
       DynamicServerList OFF
       WebLogicCluster k8workerhost1.example.com:30701,k8workerhost2.example.com:30701
    </Location>

    <Location /em>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30701,k8workerhost2.example.com:30701
    </Location>

    <Location /oamconsole>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30701,k8workerhost2.example.com:30701
    </Location>

    <Location /access>
      WLSRequest ON
      DynamicServerList OFF
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30510,k8workerhost2.example.com:30510
      WLCookieName OAMJSESSIONID
    </Location>

    <Location /iam/admin>
      WLSRequest ON
      DynamicServerList OFF
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com: 30701,k8workerhost2.example.com:30701
      WLCookieName OAMJSESSIONID
    </Location>

    <Location /oam/services/rest/11.1.2.0.0>
      WLSRequest ON
      DynamicServerList OFF
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com: 30701,k8workerhost2.example.com:30701
      WLCookieName OAMJSESSIONID
    </Location>

    <Location /oam/services/rest/ssa>
      WLSRequest ON
      DynamicServerList OFF
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com: 30701,k8workerhost2.example.com: 30701
      WLCookieName OAMJSESSIONID
    </Location>

    # Required for Multi-Datacenter 
    <Location /oam/services>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30701,k8workerhost2.example.com:30701 
    </Location>
    # OAA
    #
    <Location /oaa-admin>
        WLSRequest ON
        WLCookieName OAMJSESSIONID
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31338,k8workerhost2.example.com:31338
    </Location>

    <Location /admin-ui>
        WLSRequest ON
        WLCookieName OAMJSESSIONID
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet   "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:31338,k8workerhost2.example.com:31338
    </Location>

    <Location /oua-admin-ui>
        WLSRequest ON
        WLCookieName OAMJSESSIONID
        DynamicServerList OFF
        SecureProxy ON
        WLSSLWallet "${ORACLE_INSTANCE}/ohswallet"
        WebLogicCluster k8workerhost1.example.com:30525,k8workerhost2.example.com:30525
    </Location>

    <Location /dms>
       WLSRequest ON
       DynamicServerList OFF
       WebLogicCluster k8workerhost1.example.com:30701,k8workerhost2.example.com:30701
    </Location>

</VirtualHost>
例4   igdadmin_vh.conf
<VirtualHost WEBHOST1.example.com:7777>
    ServerName igdadmin.example.com:80
    ServerAdmin you@your.address
    RewriteEngine On
    RewriteOptions inherit
    UseCanonicalName On
    RequestHeader set "X-Forwarded-Host" "igdadmin.example.com"

    # Admin Server and EM
    <Location /console>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30711,k8workerhost2.example.com:30711
    </Location>

    # WebLogic Remote Console Access
    #
    <Location /management>
       WLSRequest ON
       DynamicServerList OFF
       WebLogicCluster k8workerhost1.example.com:30711,k8workerhost2.example.com:30711  
    </Location>

    <Location /consolehelp>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30711,k8workerhost2.example.com:30711
    </Location>

    <Location /em>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost.example.com:30711,k8workerhost.example.com:30711
    </Location>

    <Location /oim>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /iam>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /sysadmin>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /admin>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # OIM self service console
    <Location /identity>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /OIGUI>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /FacadeWebApp>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid    
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # Scheduler webservice URL
    <Location /SchedulerService-web>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # OIRI UI
    # <Location /oiri/ui>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        DynamicServerList OFF
        WebLogicCluster k8workerhost1.example.com:30306,k8workerhost2.example.com:30306
     </Location>

    # OIRI API
    # <Location /oiri/api>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        DynamicServerList OFF
        WebLogicCluster k8workerhost1.example.com:30305,k8workerhost2.example.com:30305
     </Location>

    <Location /dms>
      WLSRequest ON
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30711,k8workerhost2.example.com:30711
    </Location>

</VirtualHost>
例5   igdinternal_vh.conf
<VirtualHost WEBHOST1.example.com:7777>
    ServerName igdinternal.example.com:7777
    ServerAdmin you@your.address
    RewriteEngine On
    RewriteOptions inherit
    UseCanonicalName On
    RequestHeader set "X-Forwarded-Host" "igdinternal.example.com"

    # WSM-PM
    <Location /wsm-pm>
      WLSRequest ON
      DynamicServerList OFF
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:7010,k8workerhost2.example.com:7010
      WLProxySSL OFF   
      WLProxySSLPassThrough OFF
    </Location>

    <Location /sodcheck>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30801,k8workerhost2.example.com:30801
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>

    # OIM, role-sod profile
    <Location /role-sod>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # Callback webservice for SOA. SOA calls this when a request is approved/rejected
    # Provide the SOA Managed Server Port
    <Location /workflowservice>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>

    # used for FA Callback service.
    <Location /callbackResponseService>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # spml xsd profile
    <Location /spml-xsd>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # OIM, spml dsml profile
    <Location /spmlws>
      WLSRequest ON
      DynamicServerList OFF
      PathTrim /weblogic
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /reqsvc>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>

    # SOA Infra
    <Location /soa-infra>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30801,k8workerhost2.example.com:30801
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/OHS/component/oim_component.log"
    </Location>

    # UMS Email Support
    <Location /ucs>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30801,k8workerhost2.example.com:30801
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/OHS/component/oim_component.log"
    </Location>

    <Location /provisioning-callback>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /CertificationCallbackService>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    <Location /IdentityAuditCallbackService>
      WLSRequest ON
      DynamicServerList OFF
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>
  
    # SOA Callback webservice for SOD - Provide the SOA Managed Server Ports
    <Location /soa/composer>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30801,k8workerhost2.example.com:30801
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>

    <Location /integration>
      SetHandler weblogic-handler
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30801,k8workerhost2.example.com:30801
      WLCookieName oimjsessionid
    </Location>

    <Location /sdpmessaging/userprefs-ui>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30801,k8workerhost2.example.com:30801
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/soa_component.log"
    </Location>
		
    <Location /iam>
      SetHandler weblogic-handler
      WLCookieName oimjsessionid
      DynamicServerList OFF
      WebLogicCluster k8workerhost1.example.com:30140,k8workerhost2.example.com:30140
      WLLogFile "${ORACLE_INSTANCE}/diagnostics/logs/mod_wl/oim_component.log"
    </Location>

    # OIRI API
    # <Location /oiri/api>
        WLSRequest ON
        DynamicServerList OFF
        WLCookieName oimjsessionid
        DynamicServerList OFF
        WebLogicCluster k8workerhost1.example.com:30305,k8workerhost2.example.com:30305
     </Location>
</VirtualHost>