17 Oracle HTTP Serverのインストールと構成
エンタープライズ・デプロイメントでは、Oracle HTTP Serverを各Web層ホストにインストールし、各ホストでOracle HTTPスタンドアロン・ドメインとして構成する必要があります。
Web層のOracle HTTP Serverインスタンスによって、HTTPリクエストがハードウェア・ロード・バランサからアプリケーション層の特定の管理対象サーバーに転送されます。
Oracle HTTP Serverを構成する前に、Web層についてを確認してください。
この章の内容は次のとおりです。
- Oracle HTTP Serverの構成時に使用される変数
この章で説明されている様々なタスクを実行する際に、これらのディレクトリ変数を参照します。 - 記憶域について
Oracle HTTP Serverをデプロイすると、構成情報はローカルまたは専用NFSボリュームに格納されます。 - Oracle HTTP Serverドメインについて
エンタープライズ・デプロイメントでは、各Oracle HTTP Serverインスタンスは個別のホストの専用スタンドアロン・ドメインに構成されます。これにより、最小限の構成と最小限のリソースを必要とする単純な構成を実行して管理できます。 - サポートされているJDKのインストール
Oracle Fusion Middlewareでは、動作保証されたJava Development Kit (JDK)がシステムをインストールする必要があります。 - WEBHOST1へのOracle HTTP Serverのインストール
Oracle Universal Installerを使用して、Web層にOracle HTTP Serverソフトウェアをインストールします。手順が完了したら、インストールを確認します。 - WEBHOST1でのOracle HTTP Serverドメインの作成
構成ウィザードを使用して、最初のWeb層ホストに新しいOracle HTTP Serverスタンドアロン・ドメインを作成できます。 - WEBHOST2でのOracle HTTP Serverドメインのインストールおよび構成
WEBHOST1でOracle HTTP Serverをインストールしてドメインを構成したら、同じタスクをWEBHOST2でも実行する必要があります。 - WEBHOST1およびWEBHOST2でのノード・マネージャおよびOracle HTTP Serverインスタンスの起動
Oracle HTTP Serverインスタンスを起動する前に、両方のホストでノード・マネージャを起動します。 - ヘルス・チェックの作成
各Oracle HTTP Serverインスタンスにヘルス・チェックを作成します。Oracleでは、障害を回避するために、ヘルス・チェックに特定のページを使用することをお薦めします。 - 構成のバックアップ
ベスト・プラクティスとして、ドメインを正常に拡張した後や別の論理ポイントで構成をバックアップすることをお薦めします。必ずここまでのインストールが成功していることを確認してからバックアップしてください。これは、後のステップで問題が発生した場合に即座にリストアを実行できるクイック・バックアップです。 - アプリケーション層にリクエストをルーティングするためのOracle HTTP Serverの構成
Webサーバー・インスタンスがリクエストをドメイン内のサーバーにルーティングするようにOracle HTTP Server構成ファイルを更新します。 - Oracle Access Manager用のOracle HTTP Serverの構成
Oracle Access Managementクラスタにリクエストを正しくルーティングするように、Oracle Access Manager管理対象サーバー用にOracle HTTP Serverを構成する必要があります。 - Oracle Identity Governance用のOracle HTTP Serverの構成
Oracle SOA Suiteクラスタにリクエストを正しくルーティングするようにWeb層のOracle HTTP Serverインスタンスを構成するには、次の手順を使用して、https://igdinternal.example.com:7777
仮想サーバーのパラメータを作成して定義するOracle HTTP Server構成ファイルを追加作成します。 - Oracle Identity Role Intelligence用のOracle HTTP Serverの構成
リクエストをOracle Role Intelligenceクラスタに正しくルーティングするように、Oracle Identity Role Intelligence (OIRI)サーバー用にOracle HTTP Serverを構成する必要があります。 - Oracle Advanced Authentication、Oracle Adaptive Risk ManagementおよびOracle Universal Authenticator用のOracle HTTP Serverの構成
リクエストがOAAマイクロサービスに正しくルーティングされるように、Oracle Advanced Authenticationサーバー用にOracle HTTP Serverを構成する必要があります。 - OHSインスタンスの再起動
構成ファイルを各WEBHOSTにコピーしたことを確認し、各ホストでOracle HTTP Serviceインスタンスを再起動します。 - Oracle HTTP Serverの構成の検証
Oracle HTTP Serverが正常に動作するようにするには、Oracle Identity Management製品を構成した後、いくつかの検証を実行する必要があります。 - サンプル仮想ホスト・ファイル
サンプル・リストには、Oracle Identity and Access Managementデプロイメントで使用されるすべての仮想ホスト・ファイルの完全な例が含まれています。
上位トピック: 「エンタープライズ・ドメインの構成」
Oracle HTTP Serverの構成時に使用される変数
この章で説明されている様々なタスクを実行する際に、これらのディレクトリ変数を参照します。
いくつかのディレクトリ変数の値については、「このガイドで使用するファイル・システムとディレクトリ変数」に定義されています。
- WEB_ORACLE_HOME
- WEB_DOMAIN_HOME
- JAVA _HOME
親トピック: Oracle HTTP Serverのインストールと構成
記憶域について
Oracle HTTP Serverをデプロイすると、構成情報はローカルまたは専用NFSボリュームに格納されます。
この後の項では、ローカルという語は、ローカル記憶域またはNFSボリュームのどちらかを指します。Oracle HTTP ServerをOCIにデプロイする場合は、専用NFSボリュームを作成する必要があります。/private
という語は、常に、このプライベート・ストレジ領域(NFSまたはローカル)を指します。
親トピック: Oracle HTTP Serverのインストールと構成
Oracle HTTP Serverドメインについて
エンタープライズ・デプロイメントでは、各Oracle HTTP Serverインスタンスは個別のホストの専用スタンドアロン・ドメインに構成されます。これにより、最小限の構成と最小限のリソースを必要とする単純な構成を実行して管理できます。
ノート:
Oracle Fusion Middlewareでは、動作保証されたJava Development Kit (JDK)がシステムにインストールされており、JAVA_HOMEがWeb層のホストに設定されている必要があります。
Web層のOracle HTTP Serverインスタンスのロールおよび構成の詳細は、「Web層の理解」を参照してください。
親トピック: Oracle HTTP Serverのインストールと構成
サポートされている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ソフトウェアのインストール
JDKを次の場所にインストールする必要があります。
Web層の各ホスト・コンピュータのローカル記憶域デバイスDMZに配置されるWeb層ホスト・コンピュータは、アプリケーション層の共有記憶域に必ずしもアクセスできるとはかぎりません。
「エンタープライズ・デプロイメント用の推奨ディレクトリ構造の理解」を参照してください。
親トピック: サポートされているJDKのインストール
WEBHOST1へのOracle HTTP Serverのインストール
Oracle Universal Installerを使用して、Web層にOracle HTTP Serverソフトウェアをインストールします。手順が完了したら、インストールを確認します。
インストールは、ソフトウェアのインストールと構成に必要な権限を持つoracle user
によって実行される必要があります。「ソフトウェア所有者アカウントの作成」を参照してください。
インストールは、ソフトウェアのインストールと構成に必要な権限を持つoracle user
によって実行される必要があります。「ソフトウェア所有者アカウントの作成」を参照してください。
親トピック: Oracle HTTP Serverのインストールと構成
Oracle HTTP Serverのインストール画面のナビゲート
次の表は、インストール・プログラムで表示される順序に画面を示しています。
インストール画面に関して詳細な情報が必要な場合は、画面の「ヘルプ」ボタンをクリックしてください。
表17-1 Oracle HTTP Serverのインストール画面
画面 | 説明 |
---|---|
UNIXオペレーティング・システムでは、このホストにOracle製品を初めてインストールする場合に、この画面が表示されます。中央インベントリを作成する場所を指定します。この画面で選択したオペレーティング・システム・グループ名には、中央インベントリの場所への書込み権限があることを確認してください。 『Oracle Universal Installerによるソフトウェアのインストール』のOracleセントラル・インベントリに関する項を参照してください。 ノート: 中央インベントリ・ディレクトリを製品ディレクトリ内に構成することをお薦めします。例: また、インストーラが完了したら、 |
|
製品のインストーラの紹介画面です。 |
|
この画面を使用して、使用可能なパッチを「My Oracle Support」で自動的に検索するかユーザーの組織のためにすでにダウンロードされているパッチを、ローカル・ディレクトリで自動的に検索します。 |
|
この画面を使用してOracleホーム・ディレクトリの位置を指定します。 エンタープライズ・デプロイメントのためには、表4-5に示すWEB_ORACLE_HOME変数の値を入力します。 |
|
「スタンドアロンHTTPサーバー(WebLogic Serverとは切り離して管理)」を選択します。 このインストール・タイプを使用すると、既存のOracle WebLogic Serverドメインとは切り離してOracle HTTP Serverインスタンスを構成できます。 |
|
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構成ウィザードを起動します。
cdWEB_ORACLE_HOME
/oracle_common/common/bin
./config.sh
Oracle HTTP Serverドメインの構成ウィザード画面のナビゲート
Web層ホスト上にOracle HTTP Serverインスタンスのスタンドアロン・ドメインを作成することをお薦めします。
次の項では、新しいスタンドアロンOracle HTTP Serverドメインを作成する方法を説明します。
- タスク1 ドメイン・タイプとドメイン・ホームの場所の選択
-
「構成タイプ」画面で、「新規ドメインの作成」を選択します。
「ドメインの場所」フィールドで、WEB_DOMAIN_HOME変数に割り当てられている値を入力します。
次のことに注意してください:
-
構成ウィザードにより、ここでの指定に従って新しいディレクトリが作成されます。
-
WebサーバーにDMZ外部の記憶域デバイスに対する依存関係が発生しないよう、ローカル記憶域にディレクトリを作成します。
ノート:
-
ドメイン・ホーム・ディレクトリの詳細は、『Oracle Fusion Middlewareのインストールのプランニング』のドメイン・ホーム・ディレクトリに関する項を参照してください。
-
この画面に示されるその他のオプションの詳細は、Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成の「構成タイプ」に関する項を参照してください。
-
Web層とDMZの詳細は、「標準的なエンタープライズ・デプロイメントのファイアウォールとゾーンの理解」を参照してください。
-
WEB_DOMAIN_HOMEディレクトリ変数の詳細は、「このガイドで使用するファイル・システムとディレクトリ変数」を参照してください。
-
- タスク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つのみです。
-
「システム・コンポーネント」フィールドのデフォルトのインスタンス名は
ohs1
です。WEBHOST1
の構成時にこのデフォルト名を使用します。 -
「コンポーネント・タイプ」フィールドで、
OHS
が選択されていることを確認します。 -
アプリケーションが応答しない場合、「再起動間隔秒数」フィールドを使用して、アプリケーションが応答しない場合に再起動を試行する前に待機する秒数を指定します。
-
「再起動遅延秒数」フィールドを使用して、再起動を再度試行する前に待機する秒数を指定します。
-
- タスク5 OHSサーバーの構成
-
「OHSサーバー」画面を使用して、ドメイン内のOHSサーバーを構成します。
-
「システム・コンポーネント」ドロップダウン・メニューから、ohs1を選択します。
-
「リスニング・アドレス」フィールドに
WEBHOST1
と入力します。残りのフィールドはすべて事前に移入されていますが、組織での必要に応じて値を変更できます。『Oracle Fusion Middleware構成ウィザードによるWebLogicドメインの作成』で、OHSサーバーに関する項を参照してください。
-
「サーバー名」フィールドで、リスニング・アドレスとリスニング・ポートの値を確認します。
正しくは次のようになります。
http://WEBHOST1:7777
-
- タスク6 ノード・マネージャの構成
-
ノード・マネージャのタイプとして「ドメインごとのデフォルトの場所」を選択して、ノード・マネージャのユーザー名とパスワードを指定します。
ノート:
この画面に示されるオプションの詳細は、『構成ウィザードによるWebLogicドメインの作成』のノード・マネージャに関する項を参照してください。
ノード・マネージャの構成については、『Oracle WebLogic Serverノード・マネージャの管理』の複数マシンでのノード・マネージャの構成に関する項を参照してください。
- タスク7 構成の仕様の確認とドメインの構成
-
「構成サマリー」画面には、これから作成するドメインに関する詳細な構成情報が表示されます。この画面に示された各項目の詳細を調べて、情報に間違いがないことを確認します。
変更が必要な場合は、「戻る」ボタンを使用するか、ナビゲーション・ペインで画面を選択することで、前の画面に戻ることができます。
ドメイン作成は、「作成」をクリックするまでは開始されません。
終了したら、「構成の進行状況」画面で「次へ」をクリックします。
ヒント:
この画面のオプションの詳細は、『構成ウィザードによるWebLogicドメインの作成』の構成サマリーに関する項を参照してください。
- タスク8 ドメイン・ホームのメモ
-
「構成に成功しました」画面で、ドメイン・ホームの場所が表示されます。
ここに表示される情報は、サーバーを起動して管理サーバーにアクセスする際に必要となるため、ノートにとっておいてください。
「終了」をクリックして、構成ウィザードを閉じます。
WEBHOST2でのOracle HTTP Serverドメインのインストールおよび構成
WEBHOST1でOracle HTTP Serverをインストールしてドメインを構成したら、同じタスクをWEBHOST2でも実行する必要があります。
-
「WEBHOST1へのOracle HTTP Serverのインストール」の手順を使用して、WEBHOST2にログインし、Oracle HTTP Serverをインストールします。
-
「WEBHOST1でのWeb層ドメインの作成」の手順を使用して、WEBHOST2上に新しいスタンドアロン・ドメインを構成します。
WEBHOST2上のインスタンスに
ohs2
という名前を使用して、各例におけるWEBHOST1の出現箇所をすべてWEBHOST2に置き換え、ohs1
の出現箇所をすべてohs2
に置き換えるようにしてください。
親トピック: Oracle HTTP Serverのインストールと構成
WEBHOST1およびWEBHOST2でのノード・マネージャおよびOracle HTTP Serverインスタンスの起動
Oracle HTTP Serverインスタンスを起動する前に、両方のホストでノード・マネージャを起動します。
WEBHOST1およびWEBHOST2でのノード・マネージャの起動
Oracle HTTP Serverインスタンスを起動する前に、WEBHOST1およびWEBHOST2でノード・マネージャを起動する必要があります。
Oracle WebLogic Serverノード・マネージャの管理のノード・マネージャの高度な構成を参照。
ヘルス・チェックの作成
各Oracle HTTP Serverインスタンスにヘルス・チェックを作成します。Oracleでは、障害を回避するために、ヘルス・チェックに特定のページを使用することをお薦めします。
Oracle HTTP Serverがロード・バランサを介してアクセスされる場合、ロード・バランサは、Oracle HTTP Serverからページをリクエストすることで、Oracle HTTP Serverが稼働しているかどうかを定期的にチェックします。デフォルトのヘルス・チェックでは、サーバーからルート・ページへのアクセスを試みます。WebGateを使用する場合は、ヘルス・チェックが失敗する可能性があるため、このページがインターセプトされないようにする必要があります。
セキュリティ・リスクを引き起こす可能性があるため、ヘルス・チェックの目的でルート・ページを開くことはお薦めしません。ヘルス・チェックにのみ使用される特定のページを使用することをお薦めします。
サーバー・ステータス・ページを有効にしてページをチェックすることもできます。ただし、サーバー・ステータス・ページには、公開されるとセキュリティ・リスクを引き起こす可能性のある多くの情報が含まれます。これを回避するため、ヘルス・チェックの目的でHTTPサーバーに(機密情報を除外した)専用ページを作成できます。
WebGateバイパスを作成する場合は、ヘルス・チェック・リクエストが(インターネットからではなく)特定のソースからのみ送信されるようにロック・ダウンする必要があります。
単純なヘルス・チェック・ページを作成するには、各Oracle HTTP Serverインスタンスで次のステップを実行します:
- 次のように、
WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/<OHS_NAME>/htpdocs
ディレクトリにhealth-check.html
という名前のファイルを作成します:<!DOCTYPE html> <html> <body> <h1>OK</h1> </body> </html>
-
http://WEBHOST1.example.com:7777/health-check.htmlにアクセスして、ページを表示できるかどうかを確認します。
「OK」というメッセージを含むページが表示されます。
ノート:
ロード・バランサの構成時に/health-check.html
をチェックしていることを確認してください。
親トピック: Oracle HTTP Serverのインストールと構成
構成のバックアップ
ベスト・プラクティスとして、ドメインを正常に拡張した後や別の論理ポイントで構成をバックアップすることをお薦めします。必ずここまでのインストールが成功していることを確認してからバックアップしてください。これは、後のステップで問題が発生した場合に即座にリストアを実行できるクイック・バックアップです。
Kubernetes環境では、永続ボリュームとデータベースをバックアップすれば十分です。
バックアップ先はローカル・ディスクです。エンタープライズ・デプロイメント設定が完了すると、このバックアップは破棄できます。エンタープライズ・デプロイメント設定が完了したら、バックアップとリカバリの通常のデプロイメント固有プロセスを開始できます。
構成をバックアップする方法の詳細は、「エンタープライズ・デプロイメントのバックアップとリカバリの実行」を参照してください。
親トピック: Oracle HTTP Serverのインストールと構成
アプリケーション層にリクエストをルーティングするためのOracle HTTP Serverの構成
Webサーバー・インスタンスがリクエストをドメイン内のサーバーにルーティングするようにOracle HTTP Server構成ファイルを更新します。
- エンタープライズ・デプロイメント用のOracle HTTP Server構成について
- 仮想ホスト構成ファイルを追加するためのhttpd.confファイルの変更
- サーバー・ランタイム・パラメータを設定するためのhttpd.confファイルの変更
- Oracle HTTP Serverウォレットの作成
- Kubernetesノード・ポート・サービスのポートの取得
- リクエストのルーティング
- 仮想ホスト構成ファイルの作成
親トピック: 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ディレクティブのDynamicServerListをfalseに設定する必要があります。
Oracle HTTP Server構成ファイルの推奨構造
httpd.conf
ファイルに複数の仮想ホスト定義を追加するのではなく、デプロイする製品に必要な各仮想サーバーに対してより小さくより具体的な別個の構成ファイルを作成することをお薦めします。そうすることで、すでに大きなhttpd.conf
ファイルに追加のコンテンツを移入するのを回避できます。また、構成の問題のトラブルシューティングが容易になることがあります。
たとえば、通常のOracle Fusion Middleware Infrastructureドメインでは、admin_vh.conf
という名前の特定の構成ファイルを追加できます。この構成ファイルには、管理サーバー仮想ホスト(ADMINVHN)の仮想ホスト定義が含まれています。
仮想ホスト構成ファイルを追加するためのhttpd.confファイルの変更
次のタスクを実行して、エンタープライズ・トポロジに必要な追加の仮想ホストのhttpd.conf
ファイルを準備します。
-
WEBHOST1にログインします。
-
ドメイン・ディレクトリで最初のOracle HTTP Serverインスタンス(
ohs1
)のhttpd.conf
ファイルを見つけます。cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/
-
次のようにして、
httpd.conf
ファイルが適切に構成されているかどうか確認します。-
次のコマンドを実行して、
ServerName
パラメータが正しく設定され、現在のWEBHOSTn用の正しい値が代入されていることを確認します。grep "ServerName http" httpd.conf ServerName http://WEBHOST1:7777
-
次のコマンドを実行してmoduleconfサブディレクトリからすべての
*.conf
ファイルをインクルードするinclude文があることを確認します。grep moduleconf httpd.conf IncludeOptional "moduleconf/*.conf"
-
いずれかの検証で結果が戻されない場合やコメント・アウトされた結果が戻される場合は、
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"
-
httpd.conf
ファイルを保存します。
-
-
WEBHOST2
にログインし、ステップ2および3をhttpd.conf
ファイルに対して実行します(必要に応じてWEBHOST1
またはohs1
のオカレンスをWEBHOST2
またはohs2
に置き換えてください)。
サーバー・ランタイム・パラメータを設定するためのhttpd.confファイルの変更
Oracle HTTP Serverは、サーバーの実行時の動作に影響を与えるいくつかの値が、すぐに使用できるように事前に構成されています。ほとんどのデプロイメントでは、これらの値で十分です。しかし、Oracle Identity and Access Managementデプロイメントでは、次の手順を実行してこれらの値を更新することをお薦めします。
-
WEBHOST1にログインします。
-
ドメイン・ディレクトリで最初のOracle HTTP Serverインスタンス(
ohs1
)のhttpd.conf
ファイルを見つけます。cd WEB_DOMAIN_HOME/config/fmwconfig/components/OHS/ohs1/
-
次の行を含むファイルのセクションを探します。
<IfModule mpm_worker_module>
-
このセクションのエントリを更新して、次を反映させます。
<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>
- 次の値を更新します:
MaxKeepAliveRequests 0
Timeout 300
KeepAliveTimeout 10
-
httpd.conf
ファイルを保存します。 -
ファイル
mod_wl_ohs.conf
を更新して、次を反映させます:<IfModule weblogic_module> WLDNSRefreshInterval 10 </IfModule>
-
ファイルを保存します。
-
WEBHOST2
にログインし、ステップ2および3をhttpd.conf
およびmod_wl_ohs.conf
ファイルに対して実行します(必要に応じて、WEBHOST1
またはohs1
の出現箇所をWEBHOST2
またはohs2
に置き換えてください)。
Oracle HTTP Serverウォレットの作成
ノート:
イングレスを使用している場合、ウォレットは必要ありません。OHSウォレットを作成するには、各Webサーバー(WEBHOST1およびWEBHOST2)で次のステップを実行します。ウォレットはOHS Domain
フォルダに作成され、ohswallet
という名前になります。このガイドの以降の項では、この場所が前提となります。ただし、ウォレットは任意の場所に配置できます。
Kubernetesノード・ポート・サービスのポートの取得
この章で説明する各構成手順では、管理対象サーバー/インスタンスまたはマイクロサービスのクラスタのKubernetesノード・ポート・サービスにリクエストを送信するように、Oracle HTTPに指示します。これらの手順では、説明のためにサンプル・ポートを使用します。
実際に使用されているポートを取得するには、次のコマンドを実行します:
kubectl get service -n <NAMESPACE> | grep NodePort | grep <SERVICE_NAME> | awk '{ print $5 }'
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仮想ホストの目的」の説明に従って、必ずロード・バランサで仮想サーバーを構成しておいてください。Oracle Access Manager用のOracle HTTP Serverの構成
Oracle Access Managementクラスタにリクエストを正しくルーティングするように、Oracle Access Manager管理対象サーバー用にOracle HTTP Serverを構成する必要があります。
表17-2 変数とその値のリスト
変数 | 値 |
---|---|
<OAM_OAM_K8> |
OAMのKubernetesサービス・ポート。例: |
<OAM_ADMIN_K8> |
OAM管理サーバーのKubernetesサービス・ポート。例: |
<OAM_POLICY_K8> |
OAMポリシー・サービスのKubernetesサービス・ポート。例: |
Oracle Access Managementクラスタにリクエストを正しくルーティングするようにWeb層のOracle HTTP Serverインスタンスを構成するには、次の手順を使用して、login.example.com
仮想サーバーのパラメータを作成して定義するOracle HTTP Server構成ファイルを追加作成します。oam_server
管理対象サーバー用にOracle HTTP Serverを構成するには:
親トピック: Oracle HTTP Serverのインストールと構成
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サービス・ポート。例: |
<OIG_ADMIN_K8> |
OIG管理サーバー・サービスのKubernetesサービス・ポート。例: |
<OIG_SOA_PORT_K8> |
OIG SOAサービスのKubernetesサービス・ポート。例: |
リクエストがOracle Identity Governanceクラスタに正しくルーティングされるように仮想ホスト構成ファイルを作成するには:
ノート:
システムで内部呼出しを使用する場合は、soainternal仮想ホストに適切なロケーションを追加してください。親トピック: Oracle HTTP Serverのインストールと構成
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サービス・ポート。例: |
<OIRI_K8> |
OIRIサービスのKubernetesサービス・ポート。例: |
Oracle HTTP Serverを構成するには:
親トピック: Oracle HTTP Serverのインストールと構成
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_K8> |
|
<OAA_POLICY_K8> |
|
<OAA_SPUI_K8> |
|
<OAA_FIDO_K8> |
|
<OAA_EMAIL_K8> |
|
<OAA_SMS_K8> |
|
<OAA_TOTP_K8> |
|
<OAA_YOTP_K8> |
|
<OAA_PUSH_K8> |
|
<OAA_KBA_K8> |
|
<OAA_RISK_ANAL_K8> |
|
<OAA_RISKCC_K8> |
|
<OAA_OUA_K8> |
|
<OAA_OUAUI_K8> |
|
<OAA_DRSS> |
|
ノート:
この表の実際のノード・ポート値は、OAAをデプロイした後に決定されます。Oracle HTTP Serverを構成するには:
親トピック: Oracle HTTP Serverのインストールと構成
OHSインスタンスの再起動
構成ファイルを各WEBHOSTにコピーしたことを確認し、各ホストでOracle HTTP Serviceインスタンスを再起動します。
- 次を実行して、ohs1インスタンスを再起動します。
- 次を実行して、ohs2インスタンスを再起動します。
親トピック: Oracle HTTP Serverのインストールと構成
Oracle HTTP Serverの構成の検証
Oracle HTTP Serverが正常に動作するようにするには、Oracle Identity Management製品を構成した後、いくつかの検証を実行する必要があります。
ロード・バランサを介したアクセスの検証
親トピック: Oracle HTTP Serverの構成の検証
URLの検証
oam_server2
が稼働している状態で、WebLogic Server管理コンソールを使用してoam_server1
を停止します。https://login.example.com/oam/server/logout
にアクセスします。- WebLogic Server管理コンソールから
oam_server1
を起動します。 - WebLogic Server管理コンソールから
oam_server2
を停止します。 http://login.example.com/oam/server/logout
にアクセスします。
親トピック: ロード・バランサを介したアクセスの検証
仮想サーバー構成とコンソールへのアクセスの検証
ロード・バランサの仮想サーバー構成と、管理コンソールおよび管理サーバーへのアクセスを検証します。
ロード・バランサから次の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 HTTP Serverの構成の検証
サンプル仮想ホスト・ファイル
サンプル・リストには、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>
親トピック: Oracle HTTP Serverのインストールと構成