Oracle® Fusion Middleware

Oracle WebLogic Serverプロキシ・プラグイン12.1.2の使用

12c (12.1.2)

E47983-03(原本部品番号:E38389-03)

2014年2月

このドキュメントでは、WebサーバーからOracle WebLogic Serverにリクエストをプロキシするために提供されるバージョン12.1.2プラグインの使用方法について説明します。このドキュメントは、WebLogic Serverアプリケーションおよびその複数のサブシステムを管理するシステム管理者を対象にしています。

Oracle Fusion Middleware Oracle WebLogic Serverプロキシ・プラグイン12.1.2の使用, 12c (12.1.2)

E47983-03

Copyright © 2007, 2014, Oracle and/or its affiliates. All rights reserved.

原本主著者: Srinivas Sudhindra

原本協力者: Seema Alevoor、Jeff Trawick、Yulong Shi、Edwin Spear

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- ドキュメントのアクセシビリティについて

- 表記規則

1 Webサーバー・プロキシ・プラグイン12.1.2の概要

- 1.1 WLS Webサーバー・プロキシ・プラグインとは

- 1.1.1 接続プールとキープ・アライブ

- 1.1.2 リクエストのプロキシ

- 1.2 WLS Webサーバー・プロキシ・プラグイン12.1.2の入手

- 1.3 1.0プラグインからのアップグレード

- 1.3.1 アップグレードの手順

- 1.3.2 Webサーバー・プロキシ・プラグイン12.1.2にアップグレードする際の考慮事項

- 1.4 バージョン12.1.2プラグインの機能

- 1.4.1 標準暗号化強度が許容する簡潔なネーミング

- 1.4.2 バージョン12.1.2プラグインでのOracleセキュリティ・フレームワークの使用

- 1.4.3 バージョン12.1.2プラグインでのIPv6のサポート

- 1.4.4 バージョン12.1.2プラグインでの双方向SSLのサポート

- 1.4.5 リリース12.1.2の非推奨ディレクティブ

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

2 Oracle HTTP Server用WebLogicプロキシ・プラグインの構成

- 2.1 WebLogicプロキシ・プラグインの構成の前提条件

- 2.2 Fusion Middleware Controlを使用したWebLogicプロキシ・プラグインの構成

- 2.2.1 検索機能の使用

- 2.2.2 自動入力機能の使用

- 2.3 WebLogicプロキシ・プラグインの手動による構成

- 2.4 Oracle HTTP Serverの非推奨ディレクティブ

- 2.5 WebLogicプロキシ・プラグイン実装のトラブルシューティング

- 2.5.1 WLSセッションの問題

- 2.5.2 CONNECTION_REFUSEDエラー

- 2.5.3 NO_RESOURCESエラー

3 Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの構成

- 3.1 サポート・ノート

- 3.2 Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインのインストール

- 3.2.1 インストールの前提条件

- 3.2.2 Apache HTTP Serverプラグインのインストール

- 3.3 Apache HTTP Serverプラグインの構成

- 3.3.1 httpd.confファイルの編集

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

- 3.3.1.2 例: Apacheプラグインの構成

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

- 3.3.2.1 weblogic.confファイルの作成

- 3.3.2.2 weblogic.conf構成ファイルのサンプル

- 3.3.2.3 Apache HTTP Server httpd.confファイルのテンプレート

- 3.4 Apache HTTP Serverの非推奨ディレクティブ

4 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成

- 4.1 iPlanet用WLS Webサーバー・プロキシ・プラグイン12.1.2の概要

- 4.2 iPlanet用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストールと構成

- 4.2.1 インストールの前提条件

- 4.2.2 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストール

- 4.2.3 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成

- 4.2.3.1 URLによるリクエストのプロキシ

- 4.2.3.2 MIMEタイプによるリクエストのプロキシ

- 4.2.3.3 プラグインのテスト

- 4.2.4 例: iPlanetプラグインの構成

- 4.2.5 obj.confファイル修正のガイドライン

- 4.2.6 obj.confファイルのサンプル(WebLogicクラスタを使用しない場合)

- 4.2.7 obj.confファイルのサンプル(WebLogicクラスタを使用する場合)

- 4.3 iPlanet Web Serverの非推奨ディレクティブ

5 Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成

- 5.1 Microsoft IIS用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストールと構成

- 5.1.1 例: IISプラグインの構成

- 5.2 IIS 7.0用Microsoft IISプラグインのインストールと構成

- 5.3 静的ファイルのWeb Serverからの処理

- 5.4 ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ

- 5.4.1 ワイルドカード・アプリケーション・マッピングのインストール(IIS 6.0)

- 5.4.2 IIS 7.5用のワイルドカード・スクリプト・マップの追加

- 5.5 複数の仮想WebサイトからWebLogic Serverへのリクエストのプロキシ

- 5.5.1 iisproxy.iniファイルのサンプル

- 5.6 IISを経由するACLの作成

- 5.7 インストールのテスト

6 一般的な構成タスク

- 6.1 プラグインにおけるSSLの使用

- 6.1.1 SSL用のライブラリの構成

- 6.1.2 一方向SSL用プラグインの構成

- 6.1.3 プラグインとOracle WebLogic Server間の双方向SSLの構成

- 6.2 プラグインにおけるIPv6の使用

- 6.3 境界認証の設定

- 6.4 接続エラーとクラスタリング・フェイルオーバーの理解

- 6.4.1 接続失敗の考えられる原因

- 6.4.2 Connection_Refusedエラーを減らすためのヒント

- 6.4.3 クラスタ化されていない単一のWebLogic Serverでのフェイルオーバー

- 6.4.4 動的サーバー・リスト

- 6.4.5 フェイルオーバー、CookieおよびHTTPセッション

- 6.4.6 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2でのSSLの使用

- 6.4.7 ファイアウォールとロード・ディレクタを使用する場合のフェイルオーバーの動作

7 Webサーバー・プラグインのパラメータ

- 7.1 Webサーバー・プラグインの一般的なパラメータ

- 7.1.1 POSTデータ・ファイルの場所

- 7.2 Webサーバー・プラグインのSSLパラメータ

はじめに

ここでは、このガイド『Oracle Fusion Middleware Oracle WebLogic Serverプロキシ・プラグイン12.1.2の使用 12c』で使用されるドキュメントのアクセシビリティ機能と表記規則について説明します。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportから電子サポートにアクセスできます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害があるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

表記規則

このドキュメントでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するグラフィカル・ユーザー・インタフェース要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック

イタリックは、ユーザーが特定の値を指定するプレースホルダー変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 Webサーバー・プロキシ・プラグイン12.1.2の概要

次の項では、WebLogic Serverで使用するためにOracleが提供するプラグインについて説明します。

- 第1.1項「WLS Webサーバー・プロキシ・プラグインとは」

- 第1.2項「WLS Webサーバー・プロキシ・プラグイン12.1.2の入手」

- 1.3項「1.0プラグインからのアップグレード」

- 1.4項「バージョン12.1.2プラグインの機能」

- 1.5項「サポートおよびパッチ適用」

1.1 WLS Webサーバー・プロキシ・プラグインとは

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

プラグインによってHTTPサーバー・インストールが拡張され、動的な機能を必要とするリクエストをOracle WebLogic Serverが処理できるようになります。つまり、通常は、HTMLページなどの静的ページをHTTPサーバーが提供し、HTTPサーブレットやJava Server Pages (JSP)などの動的ページをOracle WebLogic Serverが提供する環境で、プラグインを使用します。

Oracle WebLogic Serverは、(おそらくは別のホストの)別のプロセスで動作している可能性があります。エンド・ユーザー(ブラウザ)には、Oracle WebLogic Serverに委任されるHTTPリクエストはHTTPサーバーから送られているものと見えます。

また、WebLogicクライアント/サーバー・プロトコルのHTTPトンネリング機能もこのプラグインを介して動作し、すべてのOracle WebLogic Serverサービスへのアクセスを提供します。

1.1.1 接続プールとキープ・アライブ

プラグインは、プラグインからOracle WebLogic Serverへの接続のプールを使用してパフォーマンスを向上させます。このプラグインは、同じプラグインからの後続リクエストに同じ接続を再利用することで、プラグインとOracle WebLogic Serverとの間でHTTP 1.1キープ・アライブ接続を実装します。接続が20秒(またはユーザー定義の時間)を超えて非アクティブな場合、その接続は閉じます。詳細は、表7-1のKeepAliveEnabledを参照してください。

注意:

クライアント接続はWebサーバーによって管理されます。

1.1.2 リクエストのプロキシ

プラグインは、指定された構成に基づいてリクエストをOracle WebLogic Serverにプロキシします。

- リクエストは、リクエストのURL (またはURLの一部)に基づいてプロキシできます。これをパスによるプロキシと呼びます。

- リクエスト対象のファイルのMIMEタイプに基づいてリクエストをプロキシすることもできます(ファイル拡張子によるプロキシと呼びます)。

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

プラグインの追加の動作を定義するすべてのタイプのリクエストに対して追加のパラメータを指定できます。

1.2 WLS Webサーバー・プロキシ・プラグイン12.1.2の入手

次のWebサーバー用のバージョン12.1.2プラグインが入手可能です。

表1-1 バージョン12.1.2プラグインの入手

Webサーバー

プラグインの入手

詳細情報

Oracle HTTP Server 12cR1

プラグインはOracle HTTP Serverのインストールに含まれています。このプラグインを構成する方法は、第2章「Oracle HTTP Server用WebLogicプロキシ・プラグインの構成」を参照してください。

第2章「Oracle HTTP Server用WebLogicプロキシ・プラグインの構成」を参照してください。

Oracle iPlanet Web Server (7.0.9以降のリリース)

Apache HTTP Server 2.2.x

Microsoft Internet Information Server (IIS) 6.0から7.5まで

プラグインは、My Oracle Support (http://support.oracle.com)およびSoftware Delivery Cloud (http://edelivery.oracle.com)のWebサイトから、必要なバイナリおよびヘルパー・ファイルを含むzipファイルとしてダウンロードできます。

たとえば、mod_wl.soプラグイン配布には次のディレクトリが含まれます。Windowsバージョンの場合、DLLファイルが提供されます。

- lib/mod_wl.soまたはlib\mod_wl.dll (Apache HTTP Serverプラグイン)

- lib/*.soまたはlib\*.dll(ネイティブ・ライブラリ)

- bin/orapkiまたはbin\orapki.cmd (orapkiツール)

- jlib/*.jar (orapki用Javaヘルパー・ライブラリ)

それぞれApache HTTP Server、Microsoft IISおよびOracle iPlanet Web Server用プラグインの構成方法については、次を参照してください。

- 第4章「iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

- 第3章「Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの構成」

- 第5章「Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

1.3 1.0プラグインからのアップグレード

バージョン1.0プラグインは非推奨となりました。今後のバージョンのOracle WebLogic Serverで動作可能かどうかは保証されません。バージョン12.1.2プラグインへの置き換えをお薦めします。

注意:

Apache HTTP Server 1.3.xまたはApache HTTP Server 2.0.xでは、バージョン1.0プラグインを引き続き使用します。

1.3.1 アップグレードの手順

11gプラグインからWebサーバー・プロキシ・プラグイン12.1.2にアップグレードする場合は、ご使用のWebサーバーの章(表1-2を参照)に記載されているインストール手順に従ってください。

表1-2 プラグイン別アップグレード手順

WebLogicプロキシ・プラグイン12.1.2にアップグレードするサーバー

次を参照してください。

Oracle HTTP Server

第2章「Oracle HTTP Server用WebLogicプロキシ・プラグインの構成」

Apache HTTP Server

第3章「Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの構成」

iPlanet Web Server

第4章「iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

Microsoft IIS Webサーバー

第5章「Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

1.3.2 Webサーバー・プロキシ・プラグイン12.1.2にアップグレードする際の考慮事項

バージョン12.1.2プラグインはバージョン1.0プラグインのスーパーセットであり、現在の機能をすべてサポートします。ただし、アップグレードするときに、次の事項に注意する必要があります。

- サポートされているプラットフォームのリストが変更されています。詳細は、次の場所にあるOracle Fusion Middlewareのサポートされるシステム構成を参照してください。
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

- 128ビットの暗号化を使用している場合、1.4.1項「標準暗号化強度が許容する簡潔なネーミング」に記載されているように、新しい命名規則を構成ファイルに反映するように変更する必要があります。たとえば、mod_wl128_22.soをmod_wl.soに変更する必要があります。

1.4 バージョン12.1.2プラグインの機能

この項では、1.0プラグインと比較してバージョン12.1.2プラグインの新しい機能を説明します。

- 1.4.1項「標準暗号化強度が許容する簡潔なネーミング」

- 1.4.2項「バージョン12.1.2プラグインでのOracleセキュリティ・フレームワークの使用」

- 1.4.3項「バージョン12.1.2プラグインでのIPv6のサポート」

- 1.4.4項「バージョン12.1.2プラグインでの双方向SSLのサポート」

1.4.1 標準暗号化強度が許容する簡潔なネーミング

バージョン1.0プラグインは、40ビット暗号化と128ビット暗号化の両方の標準をサポートしていたため、サポートされる標準をプラグインのファイル名で識別する必要がありました。たとえば、mod_wl_22.soで40ビット暗号化を表し、mod_wl128_22.soで128ビット暗号化を表していました。しかし、バージョン12.1.2プラグインでは、128ビット暗号化のみをサポートし、プラグイン名が簡潔になりました。たとえば、ただ1つの必要なファイル名は、mod_wl.soです。

注意:

1.0からアップグレードして、かつ128ビットの暗号化を使用していた場合、新しい命名規則を反映するように構成ファイルを変更する必要があります。たとえば、mod_wl128_22.soをmod_wl.soに変更する必要があります。

1.4.2 バージョン12.1.2プラグインでのOracleセキュリティ・フレームワークの使用

バージョン12.1.2プラグインでは、Oracle認定のセキュリティ・フレームワークが使用されるようになりました。このため、Oracleウォレットを使用してSSL構成情報を格納できるようになりました。

この理由により、バージョン12.1.2プラグインは、Oracleウォレットを使用するためにSSLの構成パラメータWLSSLWalletが導入しています。

プラグインのバイナリ・ファイルに提供されるコマンド・ライン・ツールを使用して、Oracleウォレットに証明書を構成できます。SSLの構成の詳細は、6.1項「プラグインにおけるSSLの使用」を参照してください。

1.4.3 バージョン12.1.2プラグインでのIPv6のサポート

バージョン12.1.2プラグインは、IPv6をサポートしています。WebLogicHostおよびWebLogicCluster構成パラメータ(表7-1を参照)は、IPv6アドレスをサポートするようになっています。

詳細は、6.2項「プラグインにおけるIPv6の使用」を参照してください。

1.4.4 バージョン12.1.2プラグインでの双方向SSLのサポート

バージョン12.1.2プラグインでは、クライアントID検証のため双方向SSLがサポートされています。双方向SSLは、ハンドシェイク・プロセスでWebLogic Serverからクライアント証明書がリクエストされると自動的に有効になります。

詳細は、6.1項「プラグインにおけるSSLの使用」を参照してください。

1.4.5 リリース12.1.2の非推奨ディレクティブ

リリース12.1.2のプラグインでは、Oracle HTTP Server、Apache HTTPサーバー、Oracle iPlanet ServerでWlLogFileおよびDebugパラメータが非推奨になっています。これらのログは、それぞれのWebサーバーのエラー・ログの一部になりました。デバッグを有効にする方法の詳細は、次を参照してください。

- 第2.4項「Oracle HTTP Serverの非推奨ディレクティブ」

- 第3.4項「Apache HTTP Serverの非推奨ディレクティブ」

- 第4.3項「iPlanet Web Serverの非推奨ディレクティブ」

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

お使いのプラグインで問題が発生した場合、プラグインのバージョンをお知らせください。バージョン情報は、Apacheのログや、構成している場合はプラグインのデバッグ・ログに記載されています。バージョン情報のサンプルを次に示します。

WebLogic Serverプラグイン・バージョン12.1.2 <WLSPLUGINS_XXXX_XXXX_XXXXX.XXXX>

注意:

Linux用Apache Web Serverをご使用の場合、次のコマンドを実行してプラグインのバージョンを調べることができます。

$ strings ${PLUGIN_HOME}/lib/mod_wl.so | grep -i wlsplugins

通常、プラグインへのパッチには置換え用共有オブジェクトが1つ以上含まれます。パッチに含まれているファイルに置き換える前に、既存のファイルのバックアップを作成しておくことをお薦めします。ログでのバージョン情報を基に、パッチが正常に適用されていることを確認してください。

2 Oracle HTTP Server用WebLogicプロキシ・プラグインの構成

この章では、Oracle HTTP ServerからOracle WebLogic Serverにリクエストをプロキシするために使用するWebLogicプロキシ・プラグイン(mod_wl_ohs)の構成方法について説明します。WebLogicプロキシ・プラグインはOracle HTTP Server 12.1.2のインストールに含まれています。これを別途ダウンロードしてインストールする必要はありません。

注意:

WebLogicプロキシ・プラグインが提供する機能は、Apache HTTP Server用のプラグインのそれと似ています。

WebLogicプロキシ・プラグインは、Fusion Middleware Controlを使用するかmod_wl_ohs.conf構成ファイルを手動で編集することで構成できます。

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

- 第2.1項「WebLogicプロキシ・プラグインの構成の前提条件」

- 第2.2項「Fusion Middleware Controlを使用したWebLogicプロキシ・プラグインの構成」

- 第2.3項「WebLogicプロキシ・プラグインの手動による構成」

- 第2.4項「Oracle HTTP Serverの非推奨ディレクティブ」

- 第2.5項「WebLogicプロキシ・プラグイン実装のトラブルシューティング」

2.1 WebLogicプロキシ・プラグインの構成の前提条件

WebLogicプロキシ・プラグインの構成を開始する前に、次のことを行います。

- Oracle WebLogic Serverがインストール済であり、ドメインが作成されており、Oracle WebLogic Serverの管理コンソールにアクセスできることを確認してください。

- Fusion Middleware Controlがインストール済であり、Enterprise Managerコンソールにアクセスできることを確認してください。これは、Fusion Middleware Control提供のグラフィカル・インタフェースを使用してWebLogicプロキシ・プラグインを構成する際に必要となります。

- 構成を検証するには、必要なJavaアプリケーションが単一の管理対象Oracle WebLogic Serverまたはクラスタにデプロイされており、アクセス可能であることを確認してください。

- バックエンドのOracle WebLogic Serverのインスタンスが10.3.4以降の場合、「WebLogicプラグインの有効化」パラメータを設定する必要があります。

1. Oracle WebLogic Serverの管理コンソールにログインします。

2. 「ドメイン構造」ペインで、「環境」ノードを展開します。

- Oracle HTTP Serverからリクエストをプロキシするサーバー・インスタンスがクラスタにある場合、「クラスタ」を選択します。

- その他の場合は、「サーバー」を選択します。

3. Oracle HTTP Serverからリクエストをプロキシするサーバーまたはクラスタを選択します。

「構成: 一般」タブが表示されます。

4. 「詳細」セクションまでスクロール・ダウンし、セクションを展開して「WebLogicプラグインの有効化」チェックボックスを選択します。

5. ステップ2で「サーバー」を選択した場合、Oracle HTTP Serverからリクエストをプロキシする他のサーバーに対してステップ3および4を繰り返します。

6. 「保存」をクリックします。

サーバー・インスタンスを再起動したら変更が適用されます。

2.2 Fusion Middleware Controlを使用したWebLogicプロキシ・プラグインの構成

Fusion Middleware Controlを使用してmod_wl_ohsモジュールを構成するには、次を実行します。

1. 2.1項に記載されている前提条件を満たしていることを確認してください。

2. Oracle HTTP Serverメニューで「管理」を選択します。

3. 「管理」メニューでmod_wl_ohs構成を選択します。「mod_wl_ohs構成」ページが表示されます。

4. 次の表に示す構成設定を指定します。

フィールド

説明

WebLogicクラスタ

ロード・バランシング用に使用できるWebLogic Serverの一覧。サーバーまたはクラスタのリストは、「ホスト:ポート」エントリのリストです。複数のクラスタと単一サーバーの組合せを指定すると、このパラメータに戻される動的リストは、クラスタ化されたサーバーのみを戻します。

適切なクラスタかどうかが不明な場合は、検索アイコンをクリックしてすべての関連クラスタのリストを確認できます。詳細は、第2.2.1項「検索機能の使用」を参照してください。

モジュールは、すべての利用可能なサーバー間で単純なラウンドロビンを行います。このプロパティで指定するサーバー・リストは、サーバーとモジュールが保持する動的サーバー・リストの起点になります。新しく追加されたり、障害が発生したり、障害から回復したクラスタ・メンバーがあると、Oracle WebLogic Serverとこのモジュールは連携して自動的にサーバー・リストを自動的に更新します。動的クラスタ・リストの使用を無効にするには、「動的サーバー・リストをオン」フィールドを無効にします。モジュールは、Cookie、URLエンコードされたセッション、またはPOSTデータに格納されたセッションを含むHTTPリクエストを、最初にCookieを作成したクラスタ内のサーバーに転送します。

注意: 「WebLogicクラスタ」と「WebLogicホスト」は相互排他的フィールドであるため、どちらか1つのみを指定してください。両方のフィールドに値を指定した場合は、「WebLogicクラスタ」が優先されます。

WebLogicホスト

HTTPリクエストの転送先のOracle WebLogic Serverホスト(またはOracle WebLogic Serverで定義された仮想ホスト名)。WebLogicクラスタを使用している場合は、WebLogic HostのかわりにWebLogic Clusterパラメータを使用します。

適切なサーバーかどうかが不明な場合は、検索アイコンをクリックしてすべての関連クラスタのリストを確認できます。詳細は、第2.2.1項「検索機能の使用」を参照してください。

注意: 「WebLogicホスト」と「WebLogicクラスタ」は相互排他的フィールドであるため、どちらか1つのみを指定してください。両方のフィールドに値を指定した場合は、「WebLogicクラスタ」が優先されます。

WebLogicポート

モジュール(または他のサーバー)からの接続リクエストをOracle WebLogic Serverホストがリスニングするポート。(モジュールおよびOracle WebLogic Serverの間でSSLを使用している場合、このパラメータをSSLのリスニング・ポートに設定します。)

動的サーバー・リストをオン | オフ

「オフ」に設定すると、モジュールからプロキシされるリクエストをロード・バランシングするために使用される動的クラスタ・リストが無視され、「WebLogicクラスタ」パラメータで指定された静的リストのみが使用されます。通常、このパラメータはオンに設定する必要があります。

このパラメータをオフに設定すると、いくつかの影響があります。

- 静的リストの1つまたは複数のサーバーで障害が発生した場合、モジュールは応答不能のサーバーへの接続に時間を費やし、その結果としてパフォーマンスが低下する可能性があります。

- クラスタに新しいサーバーを追加した場合は、このパラメータを再定義するまでモジュールはその新しいサーバーにリクエストをプロキシできません。Oracle WebLogic Serverは、新しいサーバーがクラスタに追加されたときに動的サーバー・リストにその新しいサーバーを自動的に追加します。

エラー・ページ

WebサーバーがリクエストをOracle WebLogic Serverに転送できなかった場合に表示される、ユーザー独自のエラー・ページを作成できます。

WebLogic一時ディレクトリ

POSTデータ・ファイルの_wl_proxyディレクトリの場所を指定します。

パスまたはMIMEタイプの除外

このパラメータを使用すると、特定のリクエストをプロキシ処理から除外できます。

このパラメータは、Locationタグ・レベルでローカルに定義することも、グローバルに定義することもできます。このプロパティをローカルに定義した場合、グローバルなプロパティはオーバーライドされず、2つのパラメータの結合が定義されます。

一致式

この領域では、式のオーバーライドを指定します。たとえば、MIMEタイプでプロキシする場合は、次のように入力します。

*.jsp WebLogicHost=myHost|paramName=value

次の構文を使用して、一致式の新しいパラメータを定義できます。

*.jsp PathPrepend=/test PathTrim=/foo

場所

この表は、場所のオーバーライドの指定に使用します。次のステップ6を参照してください。

5. 必要に応じて、「一致式」フィールドに式のオーバーライドを追加します。

6. 必要に応じて、「場所」表に場所のオーバーライドを追加します。これを行うには:

1. 「行の追加」をクリックして、新しい行を作成します。

2. 関連するディレクティブが有効になる基本URIを入力します。

3. 「WebLogicクラスタ」、「WebLogicホスト」および「WebLogicポート」の各フィールドに値を入力します。自動入力をクリックしてこれらの値を自動的に入力できます(第2.2.2項「自動入力機能の使用」を参照)。

4. 「パスの切捨て」フィールドについては、RFC仕様により、URLの一般的な構文は次のとおりです。

[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...

「パスの切捨て」には、WebLogic Serverにリクエストが転送される前に、元のURLの{PATH}/{FILENAME}の部分から取り除く文字列を指定します。たとえば、次のURL:

http://myWeb.server.com/weblogic/foo

が解析のためにモジュールに渡され、URLをWebLogic Serverに渡す前に/weblogicを取り除くように「パスの切捨て」を設定している場合、WebLogic Serverに転送されるURLは次になります。

http://myWeb.server.com:7002/foo

注意:

既存のサード・パーティ・サーバーを変更し、初めてモジュールを使用してWebLogic Serverにリクエストをプロキシする場合、/fooへのアプリケーション・パスを変更してweblogic/fooを含めるようにする必要があります。「パスの切捨て」と「パスの付加」を組み合せることで、このパスを変更できます。

5. 「パスの付加」フィールドについては、RFC仕様により、URLの一般的な構文は次のとおりです。

[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...

「パスの付加」には、「パスの切捨て」の値が取り除かれた後、WebLogic Serverにリクエストが転送される前に、元のURLの{PATH}の部分の先頭に付加されるパスを指定します。

注意:

ファイル名を末尾に追加する必要がある場合は、「パスの付加」ではなく、DefaultFileNameモジュール・パラメータを使用します。

6. 新規の行を保存するには「行の追加」を再度クリックします。

7. 設定が正しければ、「適用」をクリックして変更を適用します。設定が正しくないか、変更を適用しない場合は、「元に戻す」をクリックして元の設定に戻します。

8. Oracle HTTP Serverを再起動するには、Oracle HTTP Serverメニューから「制御」を選択し、「起動」を選択します。

mod_wl_ohsモジュールの構成が保存され、「mod_wl_ohs構成」ページに表示されます。

2.2.1 検索機能の使用

検索アイコンをクリックすると、選択したOracle HTTP Serverインスタンスで使用可能なクラスタまたはサーバーのリストを表示できます。検索機能を使用するには、次のことを行います。

1. 「WebLogicクラスタ」または「WebLogicホスト」の検索アイコンをクリックします。「WebLogicクラスタの選択」または「WebLogic Serverの選択」ダイアログ・ボックスが表示されます。

2. 使用するクラスタまたはサーバーを選択して、「OK」をクリックします。

選択したクラスタまたはサーバーの名前が、該当するフィールドに表示されます。

2.2.2 自動入力機能の使用

自動入力ボタンを使用すると、指定したベースURLの有効なWebLogic Serverとエンドポイントの位置を、WebLogicプロキシ・プラグインの「構成」画面の「ロケーション」表に簡単に追加できます。これを行うには:

1. 「追加」をクリックして、新しい場所を追加します。

2. 「場所」フィールドに場所名を入力します。

3. 自動入力をクリックします。

同じ名前の場所のデータが更新され、新しい場所が表に追加されます。

2.3 WebLogicプロキシ・プラグインの手動による構成

WebLogicプロキシ・プラグインを手動で構成するには、mod_wl_ohs.confファイルでディレクティブを指定します。

1. 2.1項に記載されている前提条件を満たしていることを確認してください。

2. 次のディレクトリに配置されているmod_wl_ohs.confファイルをテキスト・エディタで開きます。
DOMAIN_HOME/config/fmwconfig/components/OHS/instances/componentName

3. <IfModule weblogic_module>要素を見つけます。

4. 次の説明に従って構成ファイルの中の<IfModule weblogic_module>要素にディレクティブを追加します。

注意:

ディレクティブを事前定義<IfModule weblogic_module>要素の中に指定することをお薦めします。

ディレクティブを事前定義済の<IfModule weblogic_module>要素の外や、追加の<IfModule weblogic_module>要素またはmod_wl_ohs.conf以外の構成ファイルの中に指定した場合、WebLogicプロキシ・プラグインは機能したとしても、モジュールの構成状態が、Fusion Middleware Controlに表示されるように、mod_wl_ohs.conf構成ファイルの中に指定したディレクティブと矛盾する可能性があります。

- 単一のOracle WebLogic Serverインスタンス上で実行されるアプリケーションにリクエストを転送するには、その宛先サーバーの詳細を<location>要素の中に指定します。
構文:

<IfModule weblogic_module>
<Location path>
WLSRequest On
WebLogicHost host
WeblogicPort port
</Location>
</IfModule>

例:

次のように構成すると、Oracle HTTP Serverリスニング・ポートで受信した/myapp1 URIへのリクエストはOracle WebLogic Serverのリスニング・ポートlocalhost:7001の/myapp1へと転送されます。

<IfModule weblogic_module>
<Location /myapp1>
WLSRequest On
WebLogicHost localhost
WeblogicPort 7001
</Location>
</IfModule>

- Oracle WebLogic Serverインスタンスのクラスタで実行されるアプリケーションにリクエストを転送するには、その宛先クラスタの詳細を新しい<location>要素の中に指定します。
構文:

<IfModule weblogic_module>
<Location path>
WLSRequest On
WebLogicCluster host:port,host:port,...
</Location>
</IfModule>

例:

次のように構成すると、Oracle HTTP Serverリスニング・ポートで受信した/myapp2 URIへのリクエストは、リスニング・ポートがlocalhost:8002とlocalhost:8003の管理対象サーバーを含むOracle WebLogic Serverクラスタの/myapp2へと転送されます。

<IfModule weblogic_module>
<Location /myapp2>
WLSRequest On
WebLogicCluster localhost:8002,localhost:8003
</Location>
</IfModule>

- それぞれ単一のOracle WebLogic Serverインスタンスとクラスタで実行されるアプリケーションなど、複数の宛先を構成する場合は、各宛先を異なる<location>子要素の中に指定する必要があります。なお、次の構文で示すように、<IfModule weblogic_module>要素内のすべての<location>子要素は同じレベルにある必要があります。

<IfModule weblogic_module>
#For an application running on a single server instance
<Location path1>
WLSRequest On
WebLogicHost host
WeblogicPort port
</Location>

#For an application running on a cluster
<Location path1>
WLSRequest On
WebLogicCluster host:port,host:port,...
</Location>

</IfModule>

- Oracle HTTP Serverの高可用性デプロイメントを有効にする目的などでWebLogicプロキシ・プラグインを管理対象サーバーにリンクできるように構成するには、mod_wl_ohs.confを次のように編集します。

<IfModule mod_weblogic.c>
WebLogicCluster apphost1.mycompany.com:7050, apphost2.mycompany.com:7050
MatchExpression *.jsp
</IfModule>

<Location /weblogic>
WLSRequest On
WebLogicCluster apphost1.mycompany.com:7050,apphost2.com:7050
DefaultFileName index.jsp
</Location>

注意:

SSL終端を使用していて、リクエストをWebLogicにルーティングする場合は、次の追加の構成が必要になります。

WebLogicコンソールで、ドメイン、クラスタまたは管理対象サーバーのレベルで「WebLogicプラグインの有効化」をtrueに設定する必要があります。

WebLogic管理対象サーバーにリクエストを送信するLocationブロックで、次の行も追加する必要があります。

WLProxySSL ON
WLProxySSLPassThrough ON

例:

<Location /weblogic>
WLSRequest On
WebLogicCluster apphost1.mycompany.com:7050,apphost2.com:7050
WLProxySSL On
WLProxySSLPassThrough ON
DefaultFileName index.jsp
</Location>

WebLogicプラグインを有効にした後に、管理サーバーを再起動する必要があります。

次の例は、Oracle WebLogic管理対象サーバーにリクエストをルーティングする2種類の方法を示しています。

- <ifModule>ブロックは、Apphost1およびApphost2にあるWebLogic管理対象サーバー・クラスタに*.jspで終わるリクエストを送信します。

- <Location>ブロックは、Apphost1およびApphost2にあるWebLogic管理対象サーバー・クラスタに、/weblogicで始まるURLを持つリクエストを送信します。

- Oracle HTTP ServerとOracle WebLogic Server間の一方向SSLおよび双方向SSLをサポートするようにWebLogicプロキシ・プラグインを構成する方法の詳細は、「プラグインでのSSLの使用」を参照してください。

mod_wl_ohs.confファイルで指定できるその他のディレクティブの詳細は、第7章「Webサーバー・プラグインのパラメータ」を参照してください。

5. 『Oracle HTTP Serverの管理』のOracle HTTP Serverの起動に関する項で説明されているいずれかの方法でOracle HTTP Serverを再起動します。

2.4 Oracle HTTP Serverの非推奨ディレクティブ

WebLogicプロキシ・プラグインのWebLogic Serverプラグイン・ログは、現在Web Serverエラー・ログ・メカニズムの一部です。参照先には、簡単に識別できるように接頭辞weblogic:が付いています。例:

[Fri Dec 27 12:09:14 2013] [debug] ap_proxy.cpp(143): [client 192.168.1.123]
weblogic: INFO: SSL is configured, referer:@ https://example.com/app/fileUploadAction.do

ディレクティブWLLogFileとDebugは非推奨になりました。構成でこれらのディレクティブがまだ使用されている場合、次の注意がコンソールのログ・ファイルに表示されます。

The WLLogFile directive is ignored. The web server log file is used instead. The Debug directive is ignored. The web server log level is used instead.

プラグイン・ログを有効にするには:

- OraLogModeをODLテキストに設定した場合、OraLogSeverityをTRACE:32に設定します。これらのログは、OraLogDirディレクトリに表示されます(instance-name.log)。これがデフォルトです。

- OraLogModeをapacheに設定した場合、LogLevelをdebugに設定します。ErrorLogディレクティブは、エラー・ログの出力先ファイルを示します。

Oracle HTTP Serverログの管理方法の詳細は、「Oracle HTTP Serverログの管理」を参照してください。

2.5 WebLogicプロキシ・プラグイン実装のトラブルシューティング

この項では、WebLogicプロキシ・プラグインの使用時に発生する可能性のある一般的な問題とその解決方法について説明します。内容は次のとおりです。

- WLSセッションの問題

- CONNECTION_REFUSEDエラー

- NO_RESOURCESエラー

2.5.1 WLSセッションの問題

WebLogicプロキシ・プラグインは、バックエンドWLSサーバー/クラスタにリクエストをルーティングします。WLSはセッションは、同じクライアントからの後続のリクエストが同じWLSサーバーにルーティングされるように接続を維持します。しかし、様々な原因でWebLogicプロキシ・プラグインがWLSサーバーと通信できなくなった場合には次のことが起きます。

- リクエストが単一のWebLogic Serverインスタンスにルーティングされた場合は、WebLogicプロキシ・プラグインは、ConnectTimeoutSecsとConnectRetrySecsの比によって規定される最大再試行回数に従って、その同じWebLogic Serverインスタンスへの接続を試行し続けます。すべての試行が失敗すると、HTTP 503エラー・メッセージがクライアントに戻されます。

- リクエストがWebLogicクラスタにルーティングされた場合は、現在のWLSサーバーが「bad」とマークされ、そのリクエストは次に使用可能なWLSサーバーにルーティングされます。すべての試行が失敗すると、HTTP 503エラー・メッセージがクライアントに戻されます。

HTTP 503エラー・メッセージが送信されるほかに、HTTPクライアントにレスポンスとして次のメッセージが表示されます。

Failure of Web Server bridge:
No backend server available for connection: timed out after xx seconds or idempotent set to OFF or method not idempotent.

2.5.2 CONNECTION_REFUSEDエラー

ストレス条件下では、少数のリクエストが失敗し、エラー・ログ・ファイルに次のエラーが記録されることがあります。

weblogic: Trying GET /uri at backend host 'xx.xx.xx.xx/port; got exception 'CONNECTION_REFUSED [os error=xxx, line xxxx of URL.cpp]: apr_socket_connect call failed with error=xxx, host=xx.xx.xx.xx, port=xxxx'

第6.4.2項「Connection_Refusedエラーを減らすためのヒント」で説明されているように、WLSサーバーのバックログ接続数が最大許容値に達した可能性があります。

解決するには、第6.4.2項「Connection_Refusedエラーを減らすためのヒント」に記載されている手順に従ってください。

2.5.3 NO_RESOURCESエラー

ストレス条件下では、少数のリクエストが失敗し、エラー・ログ・ファイルに次のエラーが記録されることがあります。

weblogic: *******Exception type [NO_RESOURCES] (apr_socket_connect call failed with error=70007, host=xx.xx.xx.xx, port=xxxx) raised at line xxxx of URL.cpp

これは通常、WLSサーバーがビジー状態でWebLogicプロキシ・プラグインからの接続リクエストにレスポンスできない場合に発生します。WLSocketTimeoutSecsにより高い値を設定することで解決する場合があります。これにより、WebLogicプロキシ・プラグインが接続リクエストに対するWLSサーバーからのレスポンスを待機する時間が長くなります。

3 Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの構成

この章では、Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインをインストールおよび構成する方法について説明します。内容は以下のとおりです。

- 第3.1項「サポート・ノート」

- 第3.2項「Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインのインストール」

- 第3.3項「Apache HTTP Serverプラグインの構成」

- 第3.4項「Apache HTTP Serverの非推奨ディレクティブ」

注意:

Oracle HTTP ServerからOracle WebLogic Serverにリクエストをプロキシするには、mod_wl_ohsプラグインを使用します。このプラグインはApache HTTP Server用のプラグインと似ていますが、別途ダウンロードしてインストールする必要はありません。mod_wl_ohsを構成する方法は、第2章「Oracle HTTP Server用WebLogicプロキシ・プラグインの構成」を参照してください。

3.1 サポート・ノート

Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインは、Apache Webサーバーでサポートされており、WebSocketアプリケーションのフロントエンドとなることができます。このサポートは、次の場所にある動作保証マトリックスで説明されています。

http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html

このURLは、動作保証セントラル・ページを指しているため、ご使用のWebサーバー・バージョンに基づいて該当するモジュールをコピーする必要があります。WLSプラグイン用の動作保証を取得するには、ご使用のFMW/WLSバージョン(12.1.2.0など)関連のリストからスプレッドシート・ドキュメントを選択してから、Webサーバー・タブを開きます。

3.2 Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインのインストール

第1.2項「WLS Webサーバー・プロキシ・プラグイン12.1.2の入手」の説明に従ってApache HTTP Server用WLS Webサーバー・プロキシ・プラグインをダウンロードした後、Apache HTTP ServerにApache HTTP Serverモジュールとしてインストールできます。

3.2.1 インストールの前提条件

Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインをインストールする前に、次のことを行います。

- 第1.2項「WLS Webサーバー・プロキシ・プラグイン12.1.2の入手」の説明に従って、Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインをダウンロードします。

- プラグインzipを展開する場所(PLUGIN_HOME、たとえば、/home/myhome/weblogic-plugins-12.1.2/)

- プラグインzip配布をPLUGIN_HOME(たとえば、/home/myhome/weblogic-plugins-12.1.2/)に展開します。この配布には次のファイルが含まれています:

表3-1 Apache Web ServerプラグインZipに含まれるファイル

(パス)/ファイル名

説明

README.txt

プラグインのREADMEファイル。

bin/orapki.bat

Oracleウォレットの構成に使用するorapkiツールです。

jlib/*.jar

orapki用Javaヘルパー・ライブラリ

lib/mod_wl.so (Windowsでは.dll)

WebLogicプロキシ・モジュール

lib/*.so(.dll)

ヘルパー・ライブラリ

- SSLを使用する場合、JDK 6をインストールします。orapkiユーティリティを使用するには、JDK 6をインストールしている必要があります。このユーティリティは、SSLで使用するためにウォレットや証明書失効リストのような公開鍵インフラストラクチャ(PKI)要素を管理します。

- 互換性のあるApache HTTP Serverをインストールしていることを確認します。
詳細については、以下を参照してください。

http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html

- サポートされているバージョンのOracle WebLogic Serverが構成済で、ターゲット・システムで実行されていることを確認します。このサーバーは、プラグインzip配布を展開したシステム上で実行されている必要はないことに注意してください。サポートされているOracle WebLogic Serverのバージョンは、次を参照してください。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html

3.2.2 Apache HTTP Serverプラグインのインストール

Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインは、UNIXプラットフォーム用の共有オブジェクト(.so)およびWindows用のDLLとして配布されます。プラグインはここから入手できます。

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

1. weblogic-plugins-12.1.2/libフォルダがUNIXシステム上のLD_LIBRARY_PATH(およびWindowsシステム上のPATH)に含まれていることを確認します。含まれていない場合、Apache HTTP Serverの開始中にリンケージ・エラーが発生します。

2. ダウンロードしたプラグイン・ファイルを解凍した場所でlib/mod_wl.so (Windowsの場合はlib\mod_wl.dll)を見つけます。例: /home/myhome/weblogic-plugins-12.1.2/lib/mod_wl.so。

3. mod_so.cモジュールが有効であることを確認します。
Apacheによって提供されるApache HTTP Serverをインストールした場合、mod_so.cはすでに有効化されています。次のコマンドを実行して、mod_so.cが有効化されていることを確認してください。

- Windowsの場合

APACHE_HOME\bin> apachectl -l

- UNIX/Linuxの場合

APACHE_HOME/bin/apachectl -l

(APACHE_HOMEはApache HTTP Serverのインストールを含むディレクトリです。)

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

...
--enable-module=so
...

4. バックアップとしてAPACHE_HOME/bin/httpd.confファイルのコピーを作成します。

5. httpd.confファイルを開きます。

6. 次の文を追加してApache 2.2.x用Apache HTTP Serverプラグイン・モジュールをインストールします。Windowsの場合は、.dllファイルを指定します。

LoadModule weblogic_module /home/myhome/weblogic-plugins-12.1.2/lib/mod_wl.so

7. 次のコマンドを実行して、httpd.confファイルの構文を確認します。

- Windowsの場合

APACHE_HOME\bin> apachectl -t

- UNIX/Linuxの場合

> APACHE_HOME/bin/apachectl -t

httpd.confファイルにエラーがある場合、このコマンドの実行結果としてエラーが出力され、それ以外の場合は次の結果が出力されます。

Syntax OK

3.3 Apache HTTP Serverプラグインの構成

この項では、HTTPトンネリングを有効にし、Oracle WebLogic Serverの他のプラグイン・パラメータを使用するために、httpd.confファイルを編集してパスまたはMIMEタイプによりリクエストをプロキシする方法について説明します。

3.3.1 httpd.confファイルの編集

Apache HTTP Serverインストールのhttpd.confファイルを編集し、Apache HTTP Serverプラグインを構成します。

1. httpd.confファイルをまだ開いていない場合は、開きます。

2. MIMEタイプによってリクエストをプロキシするには、次のいずれかを定義するIfModuleブロックを追加します。

- クラスタ化されていないWebLogic Serverの場合:WebLogicHostおよびWebLogicPortパラメータ。

- WebLogic Serverのクラスタの場合:WebLogicClusterパラメータ。

例:

<IfModule mod_weblogic.c>
WebLogicHost myweblogic.example.com
WebLogicPort 7001
DebugConfigInfo ON
</IfModule>

3. MIMEタイプによってリクエストをプロキシするには、MatchExpression行を<IfModule>ブロックに追加します。MIMEタイプおよびパスによるプロキシの両方を有効にした場合、パスによるプロキシがMIMEタイプによるプロキシに優先することに注意してください。
たとえば、クラスタ化されていないWebLogic Serverに対する次の<IfModule>ブロックでは、MIMEタイプが.jspであるすべてのファイルがプロキシされます。

<IfModule mod_weblogic.c>
WebLogicHost my-weblogic.server.com
WebLogicPort 7001
MatchExpression *.jsp
DebugConfigInfo ON
</IfModule>

次のように、複数のMatchExpressionを使用することもできます。

<IfModule mod_weblogic.c>
WebLogicHost my-weblogic.server.com
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.xyz
DebugConfigInfo ON
</IfModule>

MIMEタイプによってWebLogic Serverのクラスタにリクエストをプロキシする場合は、WebLogicHostおよびWebLogicPortパラメータのかわりにWebLogicClusterパラメータを使用します。例:

<IfModule mod_weblogic.c>
WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
MatchExpression *.jsp
MatchExpression *.xyz
</IfModule>

4. パスによってリクエストをプロキシするには、<Location>ブロックおよびSetHandler文を使用します。SetHandlerは、Apache HTTP Server用WLS Webサーバー・プロキシ・プラグイン・モジュールのハンドラを指定します。たとえば、次のLocationブロックでは、URLに/weblogicが含まれるすべてのリクエストがプロキシされます。

<Location /weblogic>
WLSRequest On
PathTrim /weblogic
</Location>

PathTrimパラメータには、WebLogic Serverインスタンスにリクエストを渡す前にURLの先頭から削除する文字列を指定します(第7.1項「Webサーバー・プラグインの一般的なパラメータ」を参照してください)。

5. PathTrimパラメータは<Location>タグの中で構成する必要があります。SSLを使用するためにApache HTTP Server用WLS Webサーバー・プロキシ・プラグインを構成する際に、次の既知の問題が発生します。

- 次の構成は正しくありません:

<Location /weblogic>
WLSRequest On
</Location>

<IfModule mod_weblogic.c>
WebLogicHost localhost
WebLogicPort 7001
PathTrim /weblogic
</IfModule>

次の構成は正しい設定です。

<Location /weblogic>
WLSRequest On
PathTrim /weblogic
</Location>

- Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの現在の実装では、Apache SSLに関して複数の証明書ファイルの使用はサポートされていません。

6. 必要に応じて、t3またはIIOPのHTTPトンネリングを有効にします。

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

<Location /bea_wls_internal/HTTPClnt>
WLSRequest On
</Location>

2. IIOP (WebLogic Serverシン・クライアントのwlclient.jarで使用される唯一のプロトコル)を使用する場合にHTTPトンネリングを有効にするには、次のLocationブロックをhttpd.confファイルに追加します。

<Location /bea_wls_internal/iiop>
WLSRequest On
</Location>

7. Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの追加パラメータを定義します。
Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインは、第7.1項「Webサーバー・プラグインの一般的なパラメータ」にリストされているパラメータを認識します。Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの動作を変更するには、次のいずれかでパラメータを定義します。

- <Location>ブロック(パスによるプロキシに適用されるパラメータの場合)

- グローバル/仮想ホスト・スコープ(MIMEタイプによるプロキシに適用されるパラメータの場合)

8. 次のコマンドを実行して、httpd.confファイルの構文を確認します。

- Windowsの場合

APACHE_HOME\bin> apachectl -t

- UNIX/Linuxの場合

> APACHE_HOME/bin/apachectl -t

httpd.confファイルにエラーがある場合、このコマンドの実行結果としてエラーが出力され、それ以外の場合は次の結果が出力されます。

Syntax OK

9. Apache HTTP Serverを起動します。

- Windowsの場合

APACHE_HOME\bin> httpd -k start

- UNIX/Linuxの場合

> APACHE_HOME/bin/apachectl start

10. ブラウザからhttp://apache-host:apache-port/mywebapp/my.jspにリクエストを送信します。レスポンスを検証します。

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

<IfModule>を使用しないように選択した場合は、そのかわりに、WebLogicプロパティをLocationまたは<VirtualHost>ブロック内に直接配置できます。次に<Location>および<VirtualHost>ブロックの例を示します。

<Location /weblogic>
WLSRequest On
WebLogicHost myweblogic.server.com
WebLogicPort 7001
</Location>

<Location /weblogic>
WLSRequest On
WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
</Location>

<VirtualHost apachehost:80>
WLSRequest On
WebLogicServer weblogic.server.com
WebLogicPort 7001
</VirtualHost>

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

次の例は、ApacheプラグインがバックエンドWebLogic Serverにリクエストをプロキシするように迅速に設定するための基本的な手順を示しています。

1. ${APACHE_HOME}/conf/httpd.confファイルのコピーを作成します。

2. ファイルを編集して次のコードをファイルに追加します。

...   LoadModule weblogic_module /home/myhome/weblogic-plugins-12.1.2/lib/mod_wl.so

<IfModule mod_weblogic.c>
WebLogicHost wls-host
WebLogicPort wls-port
</IfModule>

<Location /mywebapp>
WLSRequest On
</Location>
...

3. 次のコマンドを実行して、${PLUGIN_HOME}/lib isdをLD_LIBRARY_PATHにインクルードします。

$ export LD_LIBRARY_PATH=/home/myhome/weblogic-plugin-12.1.2/lib:...

注意:

また、libの内容をAPACHE_HOME\libにコピーするか、APACHE_HOME/bin/apachectlを編集してLD_LIBRARY_PATHを更新することにより、PATHを更新できます。

4. プロンプトに対し、次を入力してApache HTTP Serverを起動します。

$ ${APACHE_HOME}/bin/apachectl start

5. ブラウザからhttp://apache-host:apache-port/mywebapp/my.jspにリクエストを送信し、レスポンスを検証します。

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

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

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

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

この項では、weblogic.confファイルの作成方法を説明し、サンプルのweblogic.confファイルが含まれています。

3.3.2.1 weblogic.confファイルの作成

weblogic.confファイルを作成する際には、次の点に注意してください。

- パラメータはそれぞれ独立した行に入力します。パラメータとその値の間に"="を挿入しないでください。例:

PARAM_1 value1
PARAM_2 value2
PARAM_3 value3

- <IfModule>ブロックのMatchExpressionで指定されたMIMEタイプとLocationブロックで指定されたパスの両方にリクエストが一致する場合は、<Location>ブロックで指定された動作が優先されます。

- Apache HTTP Serverの<VirtualHost>ブロックを使用する場合は、<VirtualHost>ブロック(http://httpd.apache.org/docs/vhosts/のApache仮想ホスト・ドキュメントを参照)内の仮想ホストのすべての構成パラメータ(たとえば、MatchExpression)を含める必要があります。

- httpd.confファイルのサンプルを次に示します。

<IfModule mod_weblogic.c>
WebLogicCluster johndoe02:8005,johndoe:8006
WLTempDir "c:\myTemp"
DebugConfigInfo ON
KeepAliveEnabled ON
KeepAliveSecs 15
</IfModule>

<Location /jurl>
WLSRequest On
WebLogicCluster agarwalp01:7001
WLTempDir "c:\jurl
</Location>

<Location /web>
WLSRequest On
PathTrim/web
WebLogicHost myhost
WebLogicPort 8001
WLTempDir "c:\web"
</Location>
<Location /foo>
WLSRequest On
WebLogicHost myhost02
WebLogicPort 8090
WLTempDir "c:\foo"
PathTrim/foo
</Location>

- /jurl/*と一致するすべてのリクエストは、c:\jurlにPOSTデータ・ファイルがあり、agarwalp01およびポート7001にリクエストをリバース・プロキシします。/web/*と一致するすべてのリクエストは、c:\webにPOSTデータ・ファイルがあり、myhostおよびポート8001にリクエストをリバース・プロキシします。/foo/*と一致するすべてのリクエストは、c:\fooにPOSTデータ・ファイルが書き込まれ、myhost02およびポート8090にリクエストをリバース・プロキシします。

- <Files>ブロックではなくMatchExpression文を使用する必要があります。

3.3.2.2 weblogic.conf構成ファイルのサンプル

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

例3-1 Weblogicクラスタを使用した例

# These parameters are common for all URLs which are
# directed to the current module. If you want to override
# these parameters for each URL, you can set them again in
# the <Location> or <Files> blocks. (Except WebLogicHost,
# WebLogicPort, WebLogicCluster, and CookieName.)

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

例3-2で、ファイル名のパターン、HTTPリクエストのトランスポート先となるWebLogic Serverホストおよびその他のパラメータを表すMatchExpressionパラメータの構文は次のとおりです。

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

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

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

# These parameters are common for all URLs which are
# directed to the current module. If you want to override
# these parameters for each URL, you can set them again in
# the <Location> or <Files> blocks (Except WebLogicHost,
# WebLogicPort, WebLogicCluster, and CookieName.)

<IfModule mod_weblogic.c>
MatchExpression *.jsp WebLogicHost=myHost|WebLogicPort=7001|Debug=ON
MatchExpression *.html WebLogicCluster=myHost1:7282,myHost2:7283|ErrorPage=
http://www.xyz.com/error.html
</IfModule>

例3-3に、WebLogicクラスタを使用しない例を示します。

例3-3 WebLogicクラスタを使用しない例

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

例3-4に、複数の名前ベースの仮想ホストを構成する例を示します。

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

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

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

ServerNameには一意の値を定義する必要があります。一意でない場合、一部のプラグイン・パラメータが意図したとおりに機能しません。

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

この項では、Apache 2.2のhttpd.confファイルのサンプルを紹介します。このサンプルをテンプレートとして使用し、ユーザーの環境およびサーバーに合うように変更できます。#で始まる行はコメントです。

Apache HTTP Serverでは大文字と小文字は区別されません。

例3-5 Apache 2.2用サンプルhttpd.confファイル

####################################################
APACHE-HOME/conf/httpd.conf file
####################################################
LoadModule weblogic_module lhome/myhome/weblogic-plugins-12.1.2/lib/mod_wl.so

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

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

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

3.4 Apache HTTP Serverの非推奨ディレクティブ

WebLogic Serverプラグイン・ログは、現在Apache HTTP Serverエラー・ログの一部であり、簡単に識別できるように接頭辞weblogic:が付けられています。そのため、ディレクティブWLLogFileとDebugは非推奨になりました。構成でこれらのディレクティブがまだ使用されている場合、次の注意が起動時に表示されます。

The WLLogFile directive is ignored. The web server log file is used instead.The Debug directive is ignored. The web server log level is used instead.

プラグイン・ログを有効にするには、LogLevelをdebugに設定します。これらのログは、ErrorLogが示すファイルに含められます。

4 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成

この章では、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2をインストールおよび構成する方法について説明します。これまでのリリースでは、このプラグインはNetscape Enterprise Serverプラグインと呼ばれていました。

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

- 第4.1項「iPlanet用WLS Webサーバー・プロキシ・プラグイン12.1.2の概要」

- 第4.2項「iPlanet用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストールと構成」

- 第4.3項「iPlanet Web Serverの非推奨ディレクティブ」

4.1 iPlanet用WLS Webサーバー・プロキシ・プラグイン12.1.2の概要

iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2を実装すると、リクエストをOracle iPlanet Web ServerからOracle WebLogic Serverへプロキシできるようになります。このプラグインは、WebLogic Serverの動的な機能を必要とするリクエストをWebLogic Serverが処理できるようにすることによってOracle iPlanet Web Serverのインストールを拡張します。

iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2は、Oracle iPlanet Web Serverが静的ページを提供し、(おそらく別のマシンの別のプロセスで動作している)Oracle WebLogic ServerのインスタンスがJSPやHTTPサーブレットで生成されたページなどの動的ページを提供するように委任された環境で使用するためのものです。WebLogic ServerとiPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2は、クリア・テキストまたはSecure Sockets Layer (SSL)を使用して接続されます。エンド・ユーザー、つまりブラウザには、WebLogic Serverに委任されたHTTPリクエストが静的ページと同じ場所から送信されてきたように見えます。また、WebLogic ServerのHTTPトンネリング機能もiPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2を介して動作すると、動的ページのみでなく、すべてのWebLogic Serverサービスへのアクセスを提供できます。

iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2は、Oracle iPlanet Web Server内のモジュールとして機能します。モジュールは起動時にロードされ、その後構成に基づき特定のHTTPリクエストがモジュールに委任されます。

Oracle iPlanet Web Serverの詳細は、http://download.oracle.com/docs/cd/E18958_01/doc.70/e18789/chapter.htmを参照してください。

4.2 iPlanet用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストールと構成

この項では、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストール前提条件およびその構成方法について説明します。

4.2.1 インストールの前提条件

Oracle iPlanet Web Serverプラグインをインストールする前に、次のことを行います:

- プラグインzipを展開する場所(PLUGIN_HOME、たとえば、/home/myhome/weblogic-plugins-12.1.2/)を作成します。

- 第1.2項「WLS Webサーバー・プロキシ・プラグイン12.1.2の入手」の説明に従って、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2をダウンロードします。

- プラグインzip配布をWebサーバーのインストール・ディレクトリ(install-dir)に展開します。プラグインzip配布を展開する前に、install-dirディレクトリ内の既存のREADME.txtの名前を変更します。この配布には次のファイルが含まれています:

表4-1 Oracle iPlanet Web ServerプラグインZipに含まれるファイル

(パス)/ファイル名

説明

README.txt

配布、最新の更新、その他の正誤表に固有の情報。

bin/orapki.bat

Oracleウォレットの構成に使用するorapkiツールです。

jlib/*.jar

orapki用Javaヘルパー・ライブラリ

lib/mod_wl.so (Windowsでは.dll)

WebLogicプロキシ・モジュール

lib/*.so(.dll)

ヘルパー・ライブラリ

- SSLを使用する場合、JDK 6をインストールします。orapkiユーティリティを使用するには、JDK 6インストールが必要です。orapkiユーティリティは、SSLとの使用のためにウォレットや証明書失効リストなどの公開鍵認証基盤(PKI)要素を管理します。

- サポートされているiPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2インストール(7.0.9以上)、つまり、iplanet-host:iplanet-portをリスニングするiPlanetサーバーをIPLANET_HOMEにインストールします。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlに記載されているiPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2プラットフォームでバージョン12.1.2プラグインがサポートされています。

- iPlanetインスタンスの場所(INSTANCE-DIR、たとえば、${IPLANET_HOME}/https-foo)を作成します。

- サポートされているバージョンのWebLogic Serverを構成済で、ターゲット・システムで実行しています。このサーバーは、プラグインzip配布を展開したシステム上で実行されている必要はないことに注意してください。サポートされているWebLogic Serverのバージョンは、次を参照してください。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html

4.2.2 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストール

iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2は、UNIXプラットフォーム用の共有オブジェクト(.so)およびWindows用のDLL(.dll)として配布されます。

Oracle iPlanet Web Serverに対し、ネイティブ・ライブラリ(UNIXではmod_wl.so、Windowsではmod_wl.dll)をモジュールとしてロードするよう指示するには、magnus.confファイルに次の行を追加します。

Init fn="load-modules" shlib="mod_wl.so"

または

Init fn="load-modules" shlib="mod_wl.dll"

magnus.confファイルはINSTANCE-DIR/configディレクトリに格納されています。ここで、INSTANCE-DIRはWebサーバーのインスタンス・ディレクトリです。詳細については、以下を参照してください。

http://download.oracle.com/docs/cd/E19146-01/821-1827/821-1827.pdf

4.2.3 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成

この項では、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成について説明します。

obj.confファイルを検索して開きます。

デフォルトのobj.confファイルは、INSTANCE-DIR/configディレクトリに格納されています。ここで、INSTANCE-DIRはWebサーバーのインスタンス・ディレクトリです。
詳細については、以下を参照:

http://download.oracle.com/docs/cd/E19146-01/821-1827/821-1827.pdf

obj.confファイルを構成する方法には何種類かあります。

4.2.5項「obj.confファイル修正のガイドライン」を参照してください。obj.confファイルでは、WebLogic Serverにプロキシされるリクエストやその他の構成情報を定義します。

4.2.3.1 URLによるリクエストのプロキシ

リクエストをURLによってプロキシする(「パスによってプロキシする」とも言います)には、プロキシするURLごとに別々の<Object>タグを作成し、PathTrimパラメータを定義します。文字列*/weblogic/*が含まれるリクエストをプロキシする<Object>タグの例を次に示します。

<Object ppath="*/weblogic/*">>
Service fn=wl-proxy WebLogicHost=myserver.com WebLogicPort=7001 PathTrim="/weblogic"
</Object>

2つの独立したppathsのオブジェクト定義の例を次に示します。各ppathは、WebLogic Serverの別々のインスタンスに送信されるリクエストを示します。

<Object ppath="*/weblogic/*">>
Service fn=wl-proxy WebLogicHost=myserver.com WebLogicPort=7001 PathTrim="/weblogic"
</Object>
<Object name="si" ppath="*/servletimages/*">
Service fn=wl-proxy WebLogicHost=otherserver.com WebLogicPort=7008
</Object>

注意:

PathTrimなどの必須でないパラメータを使用すると、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2を介してppathを渡す方法をより詳細に構成できます。プラグイン・パラメータの詳細なリストは、第7.1項「Webサーバー・プラグインの一般的なパラメータ」を参照してください。

4.2.3.2 MIMEタイプによるリクエストのプロキシ

MIMEタイプによってリクエストをプロキシする場合は、obj.confファイルで参照されるすべての新しいMIMEタイプをmime.typesファイルに追加します。MIMEタイプを追加するには、iPlanetサーバー・コンソールを使用するか、直接mime.typesファイルを編集します。

- 直接mime.typesファイルを編集するには、編集するファイルを開き、次の行を入力します。

type=text/jsp exts=jsp

- iPlanet管理コンソールでmime.typesファイルを編集する場合は、次を参照してください。
http://download.oracle.com/docs/cd/E19146-01/821-1828/gdabr/index.html

注意:

iPlanet Web Server 7.0.9以降では、すでにJSP用のMIMEタイプが定義されています。既存のMIMEタイプをmagnus-internal/jspからtext/jspに変更してください。

指定したMIMEタイプの拡張子(.jspなど)を持つリクエストをすべて、URLに関係なくWebLogic Serverにプロキシできます。

たとえば、すべてのJSPをWebLogic Serverにプロキシするには、次のServiceディレクティブを追加します。

Service method="(GET|HEAD|POST|PUT)" type=text/jsp fn=wl-proxy WebLogicHost=myserver.com WebLogicPort=7001 PathPrepend=/jspfiles

このServiceディレクティブは、.jsp拡張子を持つすべてのファイルを、指定されたWebLogic Serverにプロキシし、ファイルは次のようなURLで提供されます。

http://myserver.com:7001/jspfiles/myfile.jsp

PathPrependパラメータの値はリクエストがプロキシされるクラスタまたはWebLogic ServerでデプロイされるWebアプリケーションのコンテキスト・ルートと一致する必要があります。

iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2のエントリを追加した後、デフォルトの<Object>定義は次の例のようになります。

<Object name="default">
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
NameTrans fn="pfx2dir" from="/mc-icons" dir="/export/home/ws/lib/icons" name="es-internal"
PathCheck fn="uri-clean"
PathCheck fn="check-acl" acl="default"
PathCheck fn="find-pathinfo"
PathCheck fn="find-index" index-names="index.html,home.html
ObjectType fn="type-by-extension"
ObjectType fn="force-type" type="text/plain"
Service method="(GET|HEAD|POST|PUT)" type="text/jsp" fn="wl-proxy" WebLogicHost="myweblogic.server.com" WebLogicPort="7100"
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file"
Service method="TRACE" fn="service-trace"
AddLog fn="flex-log"
</Object>

WebLogic Serverにプロキシする他のすべてのMIMEタイプに対してデフォルトのオブジェクト定義に同様のService文を追加できます。

MIMEによるプロキシが正しく機能するには、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2からJavaを無効にする必要があります。無効にしないと、SUN Oneが*.jspで終わるすべてのリクエストを処理しようとし、$doc_rootにリソースが見つからないため404エラーを戻すことになります。

Oracle iPlanet Web ServerからJavaを無効にするには、obj.confファイルでname="default"
#NameTrans fn="ntrans-j2ee" name="j2ee"以降をコメント・アウトし、Webサーバーを再起動します。オプションとして、

- パスによってプロキシする場合は、HTTPトンネリングを有効にします。
weblogic.jarを使用していてt3プロトコルをトンネリングする場合は、次のオブジェクト定義をobj.confファイルに追加し、HTTPトンネリング・リクエストを処理させるWebLogic Serverホスト名とWebLogic Serverポート番号、またはWebLogicクラスタ名に置き換えてください。

<Object name="tunnel" ppath="*/HTTPClnt*"
Service fn=wl-proxy WebLogicHost=myserver.com WebLogicPort=7001
</Object>

- WebLogic Serverシン・クライアント(wlclient.jar)で使用される唯一のプロトコルであるIIOPをトンネリングする場合は、次のオブジェクト定義をobj.confファイルに追加し、HTTPトンネリング・リクエストを処理させるWebLogic Serverホスト名とWebLogic Serverポート番号、またはWebLogicクラスタ名に置き換えてください。

<Object name="tunnel" ppath="*/iiop*">
Service fn=wl-proxy WebLogicHost=myserver.com WebLogicPort=7001
</Object>

4.2.3.3 プラグインのテスト

Oracle iPlanet Web Serverプラグインをテストするには、次の手順を実施します。

1. WebLogic Serverを起動します。

2. Oracle iPlanet Web Serverを起動します。iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2がすでに稼働中の場合は、サーバーを再起動または再構成する必要があります。

3. 次のURLを使用して、iPlanet Web Serverプラグイン用WLS Webサーバー・プロキシ・プラグイン12.1.2をテストできます。この例で示されているデフォルトのWebアプリケーションに定義されているように、デフォルトのWebLogic Server HTMLページ、ウェルカム・ファイル、またはデフォルトのサーブレットが表示される必要があります。

http://webserver_host:webserver_port/weblogic/

デフォルトのWebアプリケーションの作成方法は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』を参照してください。

4.2.4 例: iPlanetプラグインの構成

次の例は、iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2がバックエンドWebLogic Server (WLS)にリクエストをプロキシするように迅速に設定するための基本的な手順を示しています。

1. %IPLANET_INSTANCE_HOME%\config\magnus.confファイルを編集して、次の文を追加します。

...
Init fn="load-modules" shlib="%PLUGIN_HOME%\lib\mod_wl.dll"
...

2. %IPLANET_INSTANCE_HOME%\config\<vs-obj.conf>ファイル(デフォルトでは%IPLANET_INSTANCE_HOME%\config\obj.conf)を開き、次のコードを追加します。

...
<Object name="weblogic" ppath="*/wls/*">
Service fn="wl-proxy" WebLogicHost=<wls-host> WebLogicPort=<wls-port>
DebugConfigInfo="ON"
PathTrim="/wls"
</Object>
...

obj.confファイルの内容の構成に関する詳細情報は、4.2.6項「obj.confファイルのサンプル(WebLogicクラスタを使用しない場合)」および4.2.7項「obj.confファイルのサンプル(WebLogicクラスタを使用する場合)」を参照してください。

3. プロンプトに対し、次を入力して%PLUGIN_HOME%\libをPATHに追加します。

set PATH=C:\myhome\weblogic-plugin-12.1.2\lib:...

注意:

libの内容をIPLANET_HOME\libに追加するか、IPLANET_INSTANCE_HOME\bin\startservを編集してPATHを更新できます。

4. プロンプトに対し、次を入力してiPlanetサーバーを起動します:

%IPLANET_INSTANCE_HOME%\bin\startserv

5. ブラウザからhttp://iplanet-host:iplanet-port/mywebapp/my.jspにリクエストを送信し、レスポンスを検証します。

4.2.5 obj.confファイル修正のガイドライン

iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2を使用するには、obj.confファイルにいくつかの変更を加える必要があります。詳細については、以下を参照:

http://download.oracle.com/docs/cd/E19146-01/821-1827/821-1827.pdf

4.2.6 obj.confファイルのサンプル(WebLogicクラスタを使用しない場合)

クラスタを使用しない場合にobj.confファイルに追加する行の例を次に示します。この例をテンプレートとして使用し、使用する環境およびサーバーに合わせて変更できます。#で始まる行はコメントです。

- URLによるプロキシ・リクエスト

## --------------BEGIN SAMPLE obj.conf CONFIGURATION---------
# (no cluster)
# Configure which types of HTTP requests should be handled by the
# iPlanet NSAPI plug-In (and, in turn, by WebLogic). This is done
# with one or more "<Object>" tags as shown below.
# Here we configure the iPlanet plug-In module to pass requests for
# "/weblogic" to a WebLogic Server listening at port 7001 on
# the host myweblogic.server.com.
<Object ppath="*/weblogic/*">
Service fn=wl-proxy WebLogicHost=myweblogic.server.com WebLogicPort=7001 PathTrim="/weblogic"
</Object>
# Here we configure the plug-in so that requests that
# match "/servletimages/" is handled by the
# plug-in/WebLogic.
<Object name="si" ppath="*/servletimages/*">
Service fn=wl-proxy WebLogicHost=myweblogic.server.com WebLogicPort=7001
</Object>
## -------------END SAMPLE obj.conf CONFIGURATION-------------------

- MIMEタイプによるプロキシ・リクエスト

This Object directive works by file extension rather than
# request path. To use this configuration, you must modify the existing line or add the following line to mime.types file.

## -----------BEGIN SAMPLE mime.types CONFIGURATION---------------------
#
# type=text/jsp exts=jsp
## ------------END SAMPLE mime.types CONFIGURATION----------------------

## -------------BEGIN SAMPLE obj.conf CONFIGURATION---------------------
# This configuration means that any file with the extension
# ".jsp" are proxied to WebLogic. Then you must add the
# Service line for this extension to the Object "default",
# which should already exist in your obj.conf file:
<Object name=default>
NameTrans fn=pfx2dir from=/ns-icons dir="c:/Export/Home/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons dir="c://Export/Home/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir="c:/Export/Home/manual/https/ug"
NameTrans fn=document-root root="c:/Export/Home/docs"
Service method="(GET|HEAD|POST|PUT)" type=text/jsp fn=wl_proxy WebLogicHost=myweblogic.server.com WebLogicPort=7001 PathPrepend=/jspfiles
PathCheck fn=nt-uri-clean
PathCheck fn="check-acl" acl="default"
PathCheck fn=find-pathinfo
PathCheck fn=find-index index-names="index.html,home.html"
ObjectType fn=type-by-extension
ObjectType fn=force-type type=text/plain
Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap
Service method=(GET|HEAD) type=magnus-internal/directory fn=index-common
Service method=(GET|HEAD) type=*~magnus-internal/* fn=send-file
AddLog fn=flex-log name="access"
</Object>
# The following directive enables HTTP-tunneling of the
# WebLogic protocol through the iPlanet plug-in.
<Object name="tunnel" ppath="*/HTTPClnt*">
Service fn=wl-proxy WebLogicHost=myweblogic.server.com WebLogicPort=7001
</Object>
#
## -------------END SAMPLE obj.conf CONFIGURATION---------------------

4.2.7 obj.confファイルのサンプル(WebLogicクラスタを使用する場合)

WebLogic Serverクラスタを使用する場合にobj.confに追加する行の例を次に示します。この例をテンプレートとして使用し、使用する環境およびサーバーに合わせて変更できます。#で始まる行はコメントです。

- URLによるプロキシ・リクエスト

## -------------BEGIN SAMPLE obj.conf CONFIGURATION-------------------
# (using a WebLogic Cluster)
#
# Configure which types of HTTP requests should be handled by the
# iPlanet module (and, in turn, by WebLogic). This is done
# with one or more "<Object>" tags as shown below.
# Here we configure the iPlanet module to pass requests for
# "/weblogic" to a cluster of WebLogic Servers.
<Object ppath="*/weblogic/*">
Service fn=wl-proxy WebLogicCluster="myweblogic.com:7001,yourweblogic.com:7001, theirweblogic.com:7001" PathTrim="/weblogic"
</Object>
# Here we configure the plug-in so that requests that
# match "/servletimages/" are handled by the
# plug-in/WebLogic.
<Object name="si" ppath="*/servletimages/*">
Service fn=wl-proxy WebLogicCluster="myweblogic.com:7001,yourweblogic.com:7001, theirweblogic.com:7001"
</Object>
## ----------------END OF SAMPLE obj.conf CONFIGURATION------------------

- MIMEタイプによるプロキシ・リクエスト

# This Object directive works by file extension rather than
# request path. To use this configuration, you must modify the existing line or add the following line to mime.types file.:
## -----------------BEGIN SAMPLE mime.types FILE -------------------------
# type=text/jsp exts=jsp
#
## --------------------END SAMPLE mime.types------------------------------

## -------------BEGIN SAMPLE obj.conf CONFIGURATION-----------------------
# This configuration means that any file with the extension
# ".jsp" is proxied to WebLogic. Then you must add the
# Service line for this extension to the Object "default",
# which should already exist in your obj.conf file:
<Object name=default>
NameTrans fn=pfx2dir from=/ns-icons dir="c:/Export/Home/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons dir="c:/Export/Home/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir="c://Export/Home/manual/https/ug"
NameTrans fn=document-root root="c://Export/Home/docs"
Service method="(GET|HEAD|POST|PUT)" type=text/jsp fn=wl_proxy WebLogicCluster="myweblogic.com:7001, yourweblogic.com:7001, theirweblogic.com:7001",PathPrepend=/jspfiles
PathCheck fn=nt-uri-clean
PathCheck fn="check-acl" acl="default"
PathCheck fn=find-pathinfo
PathCheck fn=find-index index-names="index.html,home.html"
ObjectType fn=type-by-extension
ObjectType fn=force-type type=text/plain
Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap
Service method=(GET|HEAD) type=magnus-internal/directory fn=index-common
Service method=(GET|HEAD) type=*~magnus-internal/* fn=send-file
AddLog fn=flex-log name="access"
</Object>
# The following directive enables HTTP-tunneling of the
# WebLogic protocol through the NES plug-in.
<Object name="tunnel" ppath="*/HTTPClnt*">
Service fn=wl-proxy WebLogicCluster="myweblogic.com:7001, yourweblogic.com:7001, theirweblogic.com:7001"
</Object>
#
## -------------END SAMPLE obj.conf CONFIGURATION--------------------

4.3 iPlanet Web Serverの非推奨ディレクティブ

WebLogic Serverプラグイン・ログは、現在Oracle iPlanet Serverエラー・ログの一部であり、簡単に識別できるように接頭辞weblogic:が付けられています。そのため、ディレクティブWLLogFileとDebugは非推奨になりました。構成でこれらのディレクティブがまだ使用されている場合、次の注意が表示されます。

weblogic: Debug & WLLogFile directives are deprecated for the current plugin release. Please Refer to the plugin documentation.

プラグイン・ログを有効にするには、ログ・レベルをfineに設定します。

5 Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成

次の各項では、Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2をインストールおよび構成する方法について説明します。

- 第5.1項「Microsoft IIS用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストールと構成」

- 第5.2項「IIS 7.0用Microsoft IISプラグインのインストールと構成」

- 5.3項「静的ファイルのWeb Serverからの処理」

- 5.4項「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」

- 5.5項「複数の仮想WebサイトからWebLogic Serverへのリクエストのプロキシ」

- 5.6項「IISを経由するACLの作成」

- 5.7項「インストールのテスト」

5.1 Microsoft IIS用WLS Webサーバー・プロキシ・プラグイン12.1.2のインストールと構成

Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2をインストールする手順は次のとおりです。

1. 第1.2項「WLS Webサーバー・プロキシ・プラグイン12.1.2の入手」の説明に従って、IIS Webサーバー用WLS Webサーバー・プロキシ・プラグインをダウンロードします。zipファイルには次のファイルが含まれています。

表5-1 Microsoft IISプラグインZipに含まれるファイル

(パス)/ファイル名

説明

README.txt

配布、最新の更新、その他の正誤表に固有の情報。

bin/orapki.bat

Oracleウォレットの構成に使用するorapkiツールです。

jlib/*.jar

orapki用Javaヘルパー・ライブラリ

iisproxy.dll

WebLogicプロキシ・モジュール

lib/*.so(.dll)

ヘルパー・ライブラリ

2. IISからアクセス可能な簡便なディレクトリにiisproxy.dllファイルをコピーします。このディレクトリには、ステップ6で作成するiisproxy.iniファイルも含まれている必要があります。

3. IISを実行するユーザーの名前を含めるために、iisproxy.dllファイルのユーザー権限を設定します。これはたとえば、iisproxy.dllファイル上で右クリックして「アクセス許可」を選択し、IISを実行するユーザーのユーザー名を追加するという方法で行えます。

4. ファイル拡張子(MIMEタイプ)によるプロキシを構成する場合は、次の手順を実行します。(MIMEタイプによるプロキシに加えて、またはそのかわりに、パスによるプロキシも構成できます。ステップ5を参照してください。

1. 「スタート」メニューからInternet Information Serviceマネージャを選択して、起動します。

2. 「サービス マネージャ」の左側のパネルでWebサイトを選択します(デフォルトは「既定の Web サイト」です)。

図5-1 サービス・マネージャにおけるWebサイトの選択

3. ツールバーの「再生」矢印をクリックして起動します。

4. 左側のパネルで選択したWebサイトを右クリックして「プロパティ」を選択し、Webサイトのプロパティを開きます。

図5-2 選択したWebサイトのプロパティの選択

5. 「プロパティ」パネルで、「ホーム ディレクトリ」タブを選択し、「アプリケーションの設定」セクションの「構成」をクリックします。

図5-3 プロパティ・パネルの「ホーム・ディレクトリ」タブ

6. ファイル・タイプを追加し、それらがWebLogic Serverにプロキシされるように構成するため、「マッピング」タブの「追加」をクリックします。

図5-4 「追加」ボタンをクリックして、ファイル・タイプを追加

7. 「追加」ダイアログ・ボックスを参照してiisproxy.dllファイルを探します。

8. 拡張子を、WebLogic Serverにプロキシするファイルのタイプに設定します。

9. IIS 6.0以降の構成の場合、ファイルの存在を確認するチェック・ボックスをオフにします。この確認の動作は以前のバージョンのIISから変更されています。以前は、iisproxy.dllファイルの存在を確認していましたが、プロキシからリクエストされたファイルがWebサーバーのルート・ディレクトリに存在するかどうかを確認するようになりました。この確認でファイルが見つからなかった場合、iisproxy.dllファイルはWebLogic Serverにリクエストをプロキシできません。

10. 「ディレクトリ・セキュリティ」タブで、セキュアなインストールを作成するために、必要に応じて「メソッド除外」を設定します。

11. 完了したら、「OK」をクリックして構成を保存します。この手順を、WebLogicにプロキシするファイル・タイプごとに繰り返します。

12. ファイル・タイプの構成が完了したら、「OK」をクリックして「プロパティ」パネルを閉じます。

注意:

URLのサーバーとポートの後ろに追加されたパス情報は、WebLogic Serverにそのまま渡されます。たとえば、次のURLでIISにファイルをリクエストした場合:

http://myiis.com/jspfiles/myfile.jsp

http://mywebLogic:7001/jspfiles/myfile.jspのようなURLでWebLogic Serverにプロキシされます。

注意:

アウト・オブ・プロセス・エラーを避けるため、ISAPIアプリケーションのキャッシュを選択してください。

5. パスによるプロキシを構成する場合、5.4項「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照してください。

6. ステップ2で使用したディレクトリで、iisproxy.iniファイルを作成します。

iisproxy.iniファイルには、プラグインの構成パラメータを定義するname=valueペアを格納します。パラメータは、7.1項「Webサーバー・プラグインの一般的なパラメータ」にリストされています。

iisproxy.iniファイルの例(第5.5.1項「iisproxy.iniファイルのサンプル」)を、必要なiisproxy.iniファイルのテンプレートとして使用します。

注意:

「IIS Admin Service」(コントロール・パネルの「サービス」にあります)を再起動するまで、パラメータの変更は有効になりません。

Oracleでは、iisproxy.iniファイルをiisproxy.dllファイルと同じディレクトリに配置することをお薦めします。他の場所を使用することもできます。他のディレクトリに配置した場合、次のディレクトリにおいて次の順序でiisproxy.iniが検索されます。

1. iisproxy.dllが配置されているディレクトリ。

2. Windowsレジストリで参照されている最新バージョンのWebLogic Serverのホーム・ディレクトリ。(ホーム・ディレクトリでiisproxy.iniファイルが見つからない場合、WebLogic Serverは、WindowsレジストリでWebLogic Serverの旧バージョンを調べ、古いインストール環境のホーム・ディレクトリでiisproxy.iniファイルを探します。)

3. c:\weblogicディレクトリ(存在する場合)。

7. Microsoft Internet Information ServerプラグインがリクエストをプロキシするOracle WebLogic Serverのホストとポート番号を定義します。構成によって、次の2通りの方法でホストとポートを定義できます。

- 1つのWebLogic Serverにリクエストをプロキシする場合は、iisproxy.iniファイルでWebLogicHostパラメータとWebLogicPortパラメータを定義します。例:

WebLogicHost=localhost
WebLogicPort=7001

- WebLogic Serverのクラスタにリクエストをプロキシする場合は、iisproxy.iniファイルでWebLogicClusterパラメータを定義します。例:

WebLogicCluster=myweblogic.com:7001,yourweblogic.com:7001

myweblogic.comとyourweblogic.comは、クラスタ内で動作するOracle WebLogic Serverのインスタンスです。

8. オプションで、パスによるプロキシの手順に従ってHTTPトンネリングを有効にし(5.4項「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照)、HTTPトンネリング・リクエストを処理させるWebLogic Serverホスト名とWebLogic Serverポート番号、またはWebLogicクラスタの名前を置き換えてください。

9. iisproxy.iniファイルに追加パラメータを設定します。パラメータの詳細なリストは、付録7.1項「Webサーバー・プラグインの一般的なパラメータ」で参照できます。

10. IISからWebLogic Serverにサーブレットをプロキシする場合、パスによるプロキシを行わない場合は、5.4項「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照してください。

11. 初期設定でインストールされているIISバージョンでは、iisproxy.dllは許可されていません。IISマネージャ・コンソールを使用して、プラグインを有効にしてください。

1. IIS Managerコンソールを起動します。

2. Webサービス拡張を選択します。

3. 「すべての不明なISAPI拡張」を「許可」に設定します。

5.1.1 例: IISプラグインの構成

次の例は、Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2がバックエンドWebLogic Server (WLS)にリクエストをプロキシするように設定する方法を示しています。

1. %PLUGIN_HOME%\lib\にiisproxy.iniファイルを作成します。次の行を追加します。

WebLogicHost=wls-host
WebLogicPort=wls-port
Debug=ALL
WLLogFile=C:\Temp\wl-proxy.log

2. %PLUGIN_HOME%\libがシステムPATHに含まれていることを確認してください(「コントロール パネル」→「システム」→「システム プロパティ」→「環境変数」→「システム プロパティ」→「PATH」)。

3. IISマネージャを開き、デフォルトのWebサイトを使用するか、新しいWebサイトを作成します。サイトをクリックして「ハンドラ マッピング」を開き、スクリプト・マップを追加します(「*.jsp」や「*」などの「拡張子」を設定し、「実行可能ファイル」を%PLUGIN_HOME%\lib\iisproxy.dllに設定し、「名前」を割り当てます)

4. IISを起動します。

5. ブラウザからhttp://iis-host:iis-port/mywebapp/my.jspにリクエストを送信します。レスポンスを検証します。

5.2 IIS 7.0用Microsoft IISプラグインのインストールと構成

この項では、IIS 7.0用のMicrosoft Internet Information Serverプラグインの設定方法における相違について説明します。

IIS 7.0用のMicrosoft Internet Information Serverプラグインを設定するには:

1. IISマネージャで「Webサイト」を右クリックし、「Webサイトの追加」を選択してWebアプリケーションを作成します。
「Webサイトの名前」にWebアプリケーションに付ける名前(たとえば、MyApp)を入力します。webアプリケーション・ポート(現在使用中でない任意の有効なポート番号)の物理パスを選択します。

「OK」をクリックして、Webアプリケーションを作成します。

「Webサイト」の下にアプリケーションの名前が表示されていれば、アプリケーションが作成され、実行が開始されたことを意味します。MyAppアプリケーションに関するすべての設定(変更可能)を参照するには、「Webサイト」の下にあるMyAppノードをクリックします(図5-5を参照)。

図5-5 アプリケーション・ホーム・ページ

2. 「ハンドラ・マッピング」をクリックして、特定のMIMEタイプのハンドラのマッピングを設定します。

図5-6 ハンドラ・マッピングの設定

3. 「StaticFile」をクリックし、リクエスト・パスを*から*.*に変更します。「OK」をクリックします。

図5-7 モジュールのリクエスト・パスの編集

4. MyAppをクリックして、右側のメニュー・オプションの「スクリプト・マップの追加」をクリックします。リクエスト・パスに*を入力します。
iisproxy.dllファイルを参照し、実行可能ファイルとして追加します。proxyという名前を付けます。

図5-8 スクリプトのリクエスト・パスの編集

5. 「リクエストの制限」をクリックし、「リクエストが次にマップされている場合のみハンドラを呼び出す」の選択を解除します。

図5-9 リクエストの制限の編集

6. このハンドラ・マッピングを追加するには、「OK」をクリックします。「スクリプト・マップの追加」ダイアログ・ボックスの「はい」をクリックします。

図5-10 スクリプト・マップの追加

7. パスによるプロキシを構成する場合、5.4項「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照してください。

8. IISマネージャ・ツリーのルート・ノードをクリックし、「ISAPIとCGIの制限」をクリックします。「未指定のISAPIモジュールを許可」を選択します。

図5-11 ISAPIとCGIの制限の編集

9. 次の内容のiisproxy.iniというファイルを作成し、プラグインのあるディレクトリに置きます。

WebLogicHost= @hostname@
WebLogicPort= @port@
ConnectRetrySecs=5
ConnectTimeoutSecs=25
Debug=ALL
DebugConfigInfo=ON
KeepAliveEnabled=true

WLLogFile=@Log file name@
SecureProxy=OFF

10. Internet Explorerブラウザを開き、http://<hostname>:<port>を入力します。Oracle WebLogic ServerからMedrecサンプル・アプリケーションが見えることを確認してください。
SSLモードでプラグインを実行する場合、WeblogicPortの値をアプリケーションのSSLポートに変更し、SecureProxyの値をONに変更して、WLSSLWalletをウォレットの場所に設定します。SSLパラメータの詳細は、第7.2項「Webサーバー・プラグインのSSLパラメータ」を参照してください。

図5-12 Medrecサンプル・アプリケーション

5.3 静的ファイルのWeb Serverからの処理

WebLogic Serverで処理するWebアプリケーションに含めることができるすべての静的コンテンツをIIS 7.5で処理できるようにするには、次の手順を実施します。

1. 第5.1項の説明に従って、IIS 7.5 Webサーバーで、Microsoft IIS Webサーバー用のWLS Webサーバー・プロキシ・プラグイン12.1.2を設定してアプリケーションを構成します。

Oracleドキュメントでの説明に従ってプロキシという名前のハンドラ・マッパーを作成したと想定します。

重要:

プロキシの設定では、WLEXCLUDEPATHORMIMETYPEプロパティを使用しないようにしてください。ここでは必要でも有用でもなく、流れの理解を妨げるだけです。

2. IISマネージャで、ステップ1で作成した仮想ディレクトリまたはアプリケーションをクリックしてホーム・ページを表示します。

3. 「マッパーのハンドリング」をダブルクリックし、右側のペインで「順序付きリストの表示」をクリックします。ハンドラ・マッピングの順序付きリストが表示されます。

4. プロキシを選択して、StaticFileハンドラ・マッピングの下にドラッグします(言い換えると、StaticFileハンドラ・マッピングがプロキシ・ハンドラ・マッピングの上になる必要があります)。

5. 静的ファイルを編集し、リクエスト・パスを*.jpgに変更します。ファイルを保存します。

6. IIS 7.5でPNG、GIF、CSSといった種類の静的ファイルを処理できるように、次の手順を実施します。

1. IISマネージャで、ステップ1で作成した仮想ディレクトリまたはアプリケーションをクリックしてホーム・ページを表示します。

2. 「マッパーのハンドリング」をダブルクリックし、右側のペインで「モジュール マップの追加」をクリックします。

3. 必要なタイプのリクエスト・パスを選択します。たとえば、PNGの場合は*.pngを選択し、GIFの場合は*.gifを選択します。モジュールとしてStaticFileModuleを選択し、名前を入力して「OK」をクリックします。

4. ステップ4で説明しているように、新しく作成したHandlerMappingがステップ1で定義したproxyハンドラ・マッピングより前になるように順序を付けてください。

5.4 ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ

「Installing Wildcard Application Mappings (IIS 6.0)」(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=true)およびIIS 7.5用の「Add a Wildcard Script Map」(http://technet.microsoft.com/en-us/library/cc754606(WS.10).aspx)に記述されているように、リクエスト対象のファイルの拡張子にかかわらず、Webサイトまたは仮想ディレクトリへの各リクエストの開始部分でInternet Server API (ISAPI)を実行するようにWebサイトまたは仮想ディレクトリを構成することができます。この機能を使用して、iisproxy.dllにマッピングを挿入し、リクエストをWebLogic Serverへとパスによってプロキシできます。

5.4.1 ワイルドカード・アプリケーション・マッピングのインストール(IIS 6.0)

次の手順は、「Installing Wildcard Application Mappings (IIS 6.0)」(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=true)にある、ワイルドカード・アプリケーション・マッピングをIIS 6.0のWebサーバーまたはWebサイトに追加するための指示を要約したものです。

1. IISマネージャで、ローカル・コンピュータ、そしてWebサイト・フォルダを展開し、使用するWebサイトまたは仮想ディレクトリを右クリックして、プロパティをクリックします。

2. 適切なタブ(ホーム・ディレクトリ、仮想ディレクトリまたはディレクトリ)をクリックします。

3. アプリケーション設定で「構成」をクリックし、「マッピング」タブをクリックします。

4. ワイルドカード・アプリケーション・マップをインストールするには、次を行います。

1. 「マッピング」タブで「挿入」をクリックします。

2. 「実行可能ファイル」テキスト・ボックスでiisproxy.dll DLLへパスを入力するか、「参照」をクリックして移動します。

3. 「OK」をクリックします。

5.4.2 IIS 7.5用のワイルドカード・スクリプト・マップの追加

次の手順は、IS 7.5用の「Add a Wildcard Script Map」(http://technet.microsoft.com/en-us/library/cc754606(WS.10).aspx)にある、ワイルドカード・スクリプト・マップを追加して、IIS 7.5でISAPIを使用してパスによるプロキシを行うための指示を要約したものです。

1. IISマネージャを開き、操作したいレベルに移動します。IISマネージャを開く操作についての情報は、http://technet.microsoft.com/en-us/library/cc770472(WS.10).aspxにある「Open IIS Manager」を参照してください。UI内の場所への移動については、http://technet.microsoft.com/en-us/library/cc732920(WS.10).aspxにある「Navigation in IIS Manager」を参照してください。

2. サーバー、サイトまたはアプリケーション・ホームページの「機能」ビューで「ハンドラ マッピング」をダブルクリックします。

3. 「ハンドラ・マッピング」ページの「アクション」ペインで、ワイルドカード・スクリプト・マップをクリックします。

4. 「実行可能ファイル」ボックスに完全なパスを入力するか、リクエストを処理するiisproxy.dllを参照します。たとえば、systemroot\system32\inetsrv\iisproxy.dllを入力します。

5. 「名前」ボックスに、ハンドラ・マッピングのわかりやすい名前を入力します。

6. 「OK」をクリックします。

7. オプションで、「ハンドラ・マッピング」ページで、そのページをロックまたはロック解除するためにハンドラを選択します。ハンドラ・マッピングをロックすると、構成の下位レベルで優先されません。リストからハンドラ・マッピングを選択し、「操作」ペインの「ロック」または「ロック解除」をクリックします。

8. ワイルドカード・スクリプト・マップの追加後、実行可能ファイルをISAPIおよびCGI権限リストに追加して実行可能にする必要があります。ISAPIおよびCGI権限の詳細は、http://technet.microsoft.com/en-us/library/cc730912(WS.10).aspxの「Configuring ISAPI and CGI Restrictions in IIS 7」を参照してください。

注意:

リクエストを同じIISサイト内の複数のIISアプリケーションにプロキシする場合は、後続のリクエストが最初のWebサイトにのみプロキシされるのを防ぐために、各IISアプリケーションを作成して、一意のアプリケーション・プールを各IISアプリケーションに割り当てます。

IIS 7.xでは、アプリケーション・プールを仮想ディレクトリに割り当てることはできません。

5.5 複数の仮想WebサイトからWebLogic Serverへのリクエストのプロキシ

複数のWebサイト(IISで仮想ディレクトリとして定義)からWebLogic Serverへリクエストをプロキシするには:

1. 仮想ディレクトリ用に新しいディレクトリを作成します。このディレクトリには、プロキシを定義するための.dllおよび.iniファイルが格納されます。

2. プラグインの.zipファイルの内容をディレクトリに展開します。

3. 構成された仮想ディレクトリごとに、プラグインの\libフォルダの内容をステップ1で作成したディレクトリにコピーします。

4. 第1.1.2項「リクエストのプロキシ」に記載されているように、仮想Webサイトに対してiisproxy.iniファイルを作成します。このiispoxy.iniファイルをステップ1で作成したディレクトリにコピーします。

5. ステップ1で作成したディレクトリにiisproxy.dllをコピーします。

6. 各仮想ディレクトリの個別のアプリケーション・プールを作成します。

「アプリケーション・プールの作成(IIS 6.)」(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/93275ef2-2f85-4eb1-8b92-a67545be11b4.mspx?mfr=true)で説明されているように、異なるWebアプリケーションまたはWebサイトをアプリケーション・プールと呼ばれるプールに隔離できます。アプリケーション・プールでは、プロセス境界が各ワーカー・プロセスをほかのワーカー・プロセスから分離することにより、アプリケーションが1つのアプリケーション・プールにルーティングされるときに別のアプリケーション・プールのアプリケーションがそのアプリケーションに影響を及ぼさないようにします。

注意:

IIS 7.0には「アプリケーション保護」オプションがないため、ステップ6はIIS 6.0にのみ適用されます。特定のIISサイト内に存在するIIS仮想ディレクトリは1つのみになるという制限を除けば、上のステップはIIS7.0にも適用できます。この制限があるのは、IIS 7.0では一意のアプリケーション・プールを個々の仮想ディレクトリに割り当てることができないため、後続のリクエストは常に最初のWebサイト(仮想ディレクトリ)にプロキシされるからです。

5.5.1 iisproxy.iniファイルのサンプル

次に、クラスタ化されていない単一のWebLogic Serverで使用するサンプルiisproxy.iniファイルを示します。先頭に「#」が付いた行はコメントです。

# This file contains initialization name/value pairs
# for the IIS/WebLogic plug-in.
WebLogicHost=localhost
WebLogicPort=7001
ConnectTimeoutSecs=20
ConnectRetrySecs=2

次に、クラスタ化されたWebLogic Serverで使用するサンプルiisproxy.iniファイルを示します。先頭に「#」が付いた行はコメントです。

# This file contains initialization name/value pairs
# for the IIS/WebLogic plug-in.
WebLogicCluster=myweblogic.com:7001,yourweblogic.com:7001
ConnectTimeoutSecs=20
ConnectRetrySecs=2

注意:

プラグインとWebLogic Serverの間でSSLを使用する場合は、SSLリスニング・ポートとしてポート番号を定義する必要があります。

5.6 IISを経由するACLの作成

AuthorizationヘッダーがIISによって渡されない場合は、ACLがMicrosoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2では機能しません。以下の情報を参考にして、AuthorizationヘッダーがIISによって渡されることを確認してください。

基本認証を使用する場合、ユーザーはローカルのログオン権限でログオンします。基本認証の使用を有効にするには、IISサーバーで各ユーザー・アカウントに「ローカル・ログオン」ユーザー権限を付与します。基本認証のローカル・ログオンを使用する場合、2つの問題が発生する可能性があります。

- ユーザーにローカル・ログオン権限がない場合、FrontPage、IIS、およびWindows NTが正しく構成されているように見えても、基本認証は機能しません。

- ローカル・ログオン権限があり、IISを実行しているホスト・コンピュータへの物理的なアクセスを取得できるユーザーは、コンソールでの対話セッションの開始を許可されます。

基本認証を有効にするには、コンソールの「ディレクトリ セキュリティ」タブで、「匿名を許可する」オプションが選択されていて、それ以外のすべてのオプションの選択が解除されていることを確認してください。

5.7 インストールのテスト

Microsoft IISプラグインをインストールして構成した後は、次の手順に従ってデプロイメントとテストを行います。

1. WebLogic ServerとIISが動作していることを確認します。

2. JSPファイルをデフォルトWebアプリケーションのドキュメント・ルートに保存します。

3. 次の例で示されているように、ブラウザを開き、IIS plusファイル名の後に.jspを付けてURLに設定します。

http://myiis.server.com/filename.jsp

filename.jspがブラウザに表示されば、プラグインは正常に機能しています。

6 一般的な構成タスク

この章では、すべてのWebサーバーに共通するOracleが提供したプラグインを構成するためのタスクを説明します。内容は以下のとおりです。

- 6.1項「プラグインでのSSLの使用」

- 6.2項「プラグインにおけるIPv6の使用」

- 6.3項「境界認証の設定」

- 6.4項「接続エラーとクラスタリング・フェイルオーバーの理解」

6.1 プラグインでのSSLの使用

プラグインとOracle WebLogic Serverとの間の接続を保護するため、SSL (Secure Sockets Layer)プロトコルを使用できます。SSLプロトコルによって、プラグインとWebLogic Serverの間でやり取りされるデータに機密性と整合性がもたらされます。

プラグインは、プラグインとWebLogic Server間の接続の保護にSSLプロトコルが使用されるかどうかを決定する際に、(通常はブラウザによって)HTTPリクエストに指定されるトランスポート・プロトコル(httpまたはhttps)を使用しません。つまり、プラグインはHTTPリクエストが(通常はブラウザによって)HTTPS (SSL)を使用するかしないかに依存しません。

そのかわりに、プラグインは、7.2項「Webサーバー・プラグインのSSLパラメータ」に記載されているように、SSLをいつ使用をするかを決定するため、ユーザーがプラグインに対して構成したSSLパラメータを使用します。2つの重要なSSLパラメータがあります。

- WLSSLWallet: バージョン12.1.2のプラグインは、OracleウォレットにSSL構成情報を格納します。プラグインは、Oracleウォレットを使用するために新しいSSL構成パラメータWLSSLWalletを導入します。この目的のため、orapkiユーティリティがプラグイン配布で提供されています。
orapkiユーティリティは、ウォレットおよび証明書失効リストなどの公開鍵インフラストラクチャ(PKI)の要素をコマンド・ラインで管理するので、実行するタスクをスクリプトに組み込むことができます。これによって、PKIを管理する多数のルーチン・タスクを自動化できます。

詳細は、「証明書の検証およびCRL管理用orapkiユーティリティの使用」を参照してください。

- SecureProxy: SecureProxyパラメータは、SSLが有効化されるかどうかを決定します。

双方向SSLについては、Oracle WebLogic Serverが双方向SSL用に構成されていてクライアント証明書をリクエストする場合、プラグイン(SSLクライアント)は自動的に双方向SSLを使用します。

クライアント証明書がリクエストされない場合、プラグインはデフォルトで一方向SSLになります。

注意:

Apache (Oracle HTTP Serverを含む)プラグインと同じシステムにOracle Fusion Middleware 12c (12.1.2)製品がインストールされている場合、ORACLE_HOME変数が有効なインストールをポイントしている必要があり、そうでない場合プラグインはSSLの初期化に失敗します。

たとえば、製品がきちんと削除されなかったためにORACLE_HOMEが無効になっている場合、プラグインはSSLの初期化に失敗します。

6.1.1 SSL用のライブラリの構成

プラグインは、Oracleライブラリ(NZ)を使用して、SSLサポートを提供します。ライブラリは大きいため、SSLを使用する必要がある場合のみ、ロードされます。lib/*.so*にあるライブラリ・ファイルが、プラグインによって動的にロードされるように適切な場所に配置されていることを確認してください。

次に示す方法でApache HTTP Server用プラグインのライブラリを構成できます。

- Windowsの場合: .dllファイルを含むlibディレクトリをPATH変数に指定するか、*.dllファイルをbinディレクトリにコピーします。

- UNIXの場合: ライブラリを含むフォルダをポイントするようにLD_LIBRARY_PATHを構成するか、libディレクトリにライブラリをコピーします。

PATH変数(Windows)またはLD_LIBRARY_PATH変数(UNIX)を更新するかわりにライブラリをコピーした場合、プラグインの新しいバージョンをインストールするたびにライブラリをコピーしなおす必要があります。

6.1.2 一方向SSL用プラグインの構成

一方向SSLを構成するには、次の手順を実行します。

この手順では、WebLogic Serverがインストールされているシステム上でkeytoolコマンドを実行します。また、バージョン12.1.2のプラグインがインストールされているシステム上でorapkiコマンドを実行します。

注意:

この項で取り上げられる例では、WebLogic ServerのデモCAが使用されています。本番環境でプラグインを使用している場合、プラグインおよびOracle WebLogic Server用に信頼性のあるCAが正常に構成されていることを確認してください。

1. Oracle WebLogic ServerをSSL用に構成します。詳細は、『Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。

2. orapkiユーティリティを使用してOracleウォレットを作成します。

orapki wallet create -wallet mywallet -auto_login_only

詳細は、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』の証明書の検証およびCRL管理用orapkiユーティリティの使用に関する項を参照してください。

注意:

ウォレットの作成ユーザー(Windowsの場合はSYSTEMアカウント)のみがウォレットへのアクセス権を持ちます。

通常、WindowsではSYSTEMアカウント、UNIXではウォレットの作成ユーザーとしてApacheが実行されるため、Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインではこれで十分です。ただし、IISの場合、デフォルト・ユーザーがIUSR_<Machine_Name>(IIS6.0以下)またはIUSR (IIS7.0以上)であるため、ウォレットは機能しません。

Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインまたはMicrosoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2を実行するユーザーがウォレットを作成するユーザー(Windowsの場合はアカウントSYSTEM)と異なる場合は、ウォレットの作成後にcaclsコマンド(Windows)またはchmodコマンド(UNIX)を実行してユーザーにそのウォレットへのアクセス権を付与する必要があります。例:

IIS 6.0:

cacls <wallet_path>\cwallet.sso /e /g IUSR_<Machine_Name>:R

IIS 7.5:

cacls <wallet_path>\cwallet.sso /e /g IUSR:R

3. WL_HOME\server\lib\CertGenCA.derのCAをOracleウォレットにインポートします。

orapki wallet add -wallet mywallet -trusted_cert -cert CertGenCA.der -auto_login_only

4. Webサーバーの構成ファイルを次のように構成します。

- Apache HTTP Serverの場合、httpd.confファイルを次のように編集します。

<IfModule mod_weblogic.c>
WebLogicHost host
WebLogicPort port
SecureProxy ON
WLSSLWallet path_to_wallet
</IfModule>

- Microsoft IISの場合、iisproxy.iniファイルを次のように編集します。

WebLogicHost=host
WebLogicPort=port
SecureProxy=ON
WLSSLWallet=path_to_wallet

これらの例で使用されているパラメータに関する詳細情報は、第7章「Web Serverプラグインのパラメータ」を参照してください。

5. バックエンドのOracle WebLogic Serverのインスタンスが10.3.4以降の場合、次の手順に従います。

1. Oracle WebLogic Serverの管理コンソールにログインします。

2. 「ドメイン構造」ペインで、「環境」ノードを展開します。

- Oracle HTTP Serverからリクエストをプロキシするサーバー・インスタンスがクラスタにある場合、「クラスタ」を選択します。

- その他の場合は、「サーバー」を選択します。

3. Oracle HTTP Serverからリクエストをプロキシするサーバーまたはクラスタを選択します。

「構成: 一般」タブが表示されます。

4. 「詳細」セクションまでスクロール・ダウンし、展開します。

5. 以下のいずれかを実行します。

目的

選択するオプション

一方向SSLの有効化

WebLogicプラグインの有効化

認証にクライアント証明書が使用される双方向SSLの有効化

クライアント証明書プロキシの有効化

クライアント証明書による双方向SSLの有効化

両方

6. チェック・ボックスを選択します。

7. チェック・ボックスを選択します。

8. ステップbで「サーバー」を選択した場合、Oracle HTTP Serverからリクエストをプロキシする他のサーバーに対してステップcとdを繰り返します。

9. 「保存」をクリックします。

サーバー・インスタンスを再起動したら変更が適用されます。

6. ブラウザからhttp://host:port/mywebapp/my.jspにリクエストを送信し、レスポンスを検証します。

6.1.3 プラグインとOracle WebLogic Server間の双方向SSLの構成

Oracle WebLogic Serverが双方向SSL用に構成されている場合、プラグインはユーザー証明書をWebLogic Serverに転送します。WebLogic Serverがユーザー証明書を検証できるかぎり、双方向SSLを確立できます。

6.1.2項「一方向SSL用プラグインの構成」で説明した手順に加えて、次の手順も実施します。

この手順では、WebLogic Serverがインストールされているシステム上でkeytoolコマンドを実行します。バージョン12.1.2プラグインがインストールされているシステム上でorapkiコマンドを実行します。

1. Oracleウォレットから証明書リクエストを作成します。

2. この証明書リクエストを使用して、CAまたはその他の方法で証明書を作成します。

3. WebLogic信頼ストアにユーザー証明書を信頼性のある証明書としてインポートします。証明書はOracle WebLogic Serverによって信頼される必要があります。

keytool -file user.crt -importcert -trustcacerts -keystore DemoTrust.jks -storepass <passphrase>

4. クライアント証明書(双方向SSL用)のプレゼンテーションを必要とするWebLogic Server SSL構成オプションを設定します。詳細は、Oracle WebLogic Server管理コンソール・ヘルプの双方向SSLの構成に関する項を参照してください。

6.2 プラグインにおけるIPv6の使用

バージョン12.1.2プラグインは、IPv6をサポートしています。具体的には、WebLogicHostおよびWebLogicClusterの構成パラメータ(表7-1を参照)は、IPv6アドレスをサポートするようになっています。例:

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

または

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

....
</IfModule>

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

注意:

Windows 2008の時点では、DNSサーバーはIPv4アドレスにプリファレンスしてIPv6アドレスを返します。IPv4を使用してWindows 2008 (以降)に接続している場合、ローカル・リンクIPv6アドレス形式が最初に試行され、結果的に遅延が目立ちパフォーマンスが落ちる場合があります。IPv4アドレス形式を使用するには、システムを構成して構成ファイルでかわりのIPアドレスを使用するか、またはIPv4アドレスをetc/hostsファイルに追加します。

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

6.3 境界認証の設定

プラグインを介してアクセスするWebLogic Serverアプリケーションを保護するには、境界認証を使用します。

WebLogic IDアサーション・プロバイダは、WebLogic Serverアプリケーションにアクセスする外部システム(プラグインを通じてWebLogic Serverアプリケーションにアクセスするユーザーを含む)からのトークンを認証します。使用しているプラグインを安全に保護するIDアサーション・プロバイダを次のように作成します。

1. WebLogic ServerアプリケーションにカスタムIDアサーション・プロバイダを作成します。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のカスタムIDアサーション・プロバイダの開発方法に関する項を参照してください。

2. Certトークン・タイプをサポートするようにカスタムIDアサーション・プロバイダを構成し、Certをアクティブなトークン・タイプにします。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の新しいトークン・タイプの作成方法に関する項を参照してください。

3. Webアプリケーションのweb.xmlデプロイメント記述子ファイルで、clientCertProxyをTrueに設定します(または、クラスタを使用する場合、必要に応じて、管理コンソールの「クラスタ」→「構成」→「一般」タブで、クラスタ全体に対して「クライアント証明書プロキシの有効化」属性をtrueに設定します)。
ロード・バランサまたはSSLアクセラレータなどサード・パーティ・プロキシ・サーバーでclientCertProxy属性を使用して双方向SSL認証を有効にすることができます。clientCertProxy属性の詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のcontext-paramを参照してください。

4. clientCertProxyを設定したら、接続フィルタを使用して、WebLogic Serverが、プラグインを実行しているマシンからの接続のみを受け入れるようにします。『Oracle WebLogic Serverセキュリティのプログラミング』のネットワーク接続フィルタの使用に関する項を参照してください。

5. Webサーバー・プラグインでは、プラグインとWebLogic Serverの間にSSLを使用するには、信頼性のある認証局のファイルが存在する必要があります。SSLを構成するために行う必要がある手順は、6.1項「プラグインでのSSLの使用」を参照してください。

『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のIDアサーション・プロバイダに関する項を参照してください。

6.4 接続エラーとクラスタリング・フェイルオーバーの理解

プラグインは、WebLogic Serverに接続しようとする際に、様々な構成パラメータを使用してWebLogic Serverホストへの接続の待機時間と、接続確立後のレスポンスの待機時間を決定します。接続できないか、またはレスポンスがない場合、プラグインはクラスタ内の別のWebLogic Serverインスタンスに接続してリクエストを送信しようとします。接続が失敗するか、またはクラスタ内のいずれのWebLogic Serverからもレスポンスがない場合は、エラー・メッセージが送信されます。

図6-1は、プラグインがどのようにフェイルオーバーを処理するかを示しています。

6.4.1 接続失敗の考えられる原因

WebLogic Serverホストが接続リクエストに対するレスポンスに失敗した場合、次の問題が考えられます。

- ホスト・マシンの物理的な問題

- ネットワークの問題

- その他のサーバーの障害

すべてのWebLogic Serverインスタンスがレスポンスしない場合、次の問題が考えられます。

- WebLogic Serverが実行中でないか、使用不可になっている

- サーバーのハング

- データベースの問題

- アプリケーション固有の障害

6.4.2 Connection_Refusedエラーを減らすためのヒント

負荷がかかっていると、プラグインはバックエンドのWebLogic ServerインスタンスからCONNECTION_REFUSEDエラーを受け取ることがあります。CONNECTION_REFUSEDエラーを減らすには、チューニングに関する次のヒントに従ってください。

- WebLogic Serverドメインの構成のAcceptBackLog設定を増やします。

- 待機時間を短くします。この設定は、使用するオペレーティング・システムによって異なります。例:

- Windows NTでは、プロキシおよびWebLogic ServerのTcpTimedWaitDelayをより小さな値に設定します。HKEY_LOCAL_MACHINE配下のレジストリ・キーを編集して、Windows NTでのTIME_WAIT間隔を設定します。

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay

このキーが存在しない場合、DWORD値として作成します。数値は待機する秒数で、30と240の間の任意の値を設定できます。設定しない場合、Windows NTでは、デフォルトで240秒がTIME_WAITに設定されます。

- Windows 2000では、HKEY_LOCAL_MACHINE配下のレジストリ・キーを編集してTcpTimedWaitDelayの値を小さくします。

SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

- Solarisでは、WebLogic ServerマシンとApacheマシンに対して(可能な場合)tcp_time_wait_interval設定を1秒に減らします。

$ndd /dev/tcp
param name to set - tcp_time_wait_interval
value=1000

- マシン上でオープン・ファイル記述子の制限値を増加します。この制限はオペレーティング・システムによって異なります。limit (.csh)またはulimit (.sh)ディレクティブを使用して、制限値を増やすスクリプトを作成できます。例:

#!/bin/sh
ulimit -S -n 100
exec httpd

- Solarisでは、WebLogic Serverマシンの次のチューニング可能項目の値を増やします。

tcp_conn_req_max_q tcp_conn_req_max_q0

6.4.3 クラスタ化されていない単一のWebLogic Serverでのフェイルオーバー

WebLogic Serverインスタンスが1つだけ動作している場合、プラグインはWebLogicHostパラメータで定義されているサーバーに接続しようとします。その試行が失敗すると、HTTP 503エラー・メッセージが戻されます。プラグインは、ConnectTimeoutSecsとConnectRetrySecsの比によって規定される最大再試行回数に従って、WebLogic Serverへの接続を試行します。

6.4.4 動的サーバー・リスト

クラスタ化されていない管理対象サーバー・インスタンスのロード・バランシング、またはクラスタされたバックエンド・サーバーのリストのプロキシを実行するためにWebLogicClusterパラメータが必要です。

クラスタ化された管理対象サーバーにプロキシする場合、WebLogicClusterパラメータを使用してWebLogic Serverのリストを指定すると、プラグインはクラスタ・メンバー間でのロード・バランシングの起点としてそのリストを使用します。最初のリクエストがそれらのサーバーの1つに転送された後に、クラスタ内のサーバーの更新されたリストを格納する動的サーバー・リストが戻されます。更新されたリストでは、クラスタ内の新しいサーバーが追加され、クラスタを離脱したサーバーやリクエストに応答できなかったサーバーは削除されます。この機能は、DynamicServerListを使用して制御できます。たとえば、この機能を無効にするにはDynamicServerListをOFFに設定します。

6.4.5 フェイルオーバー、CookieおよびHTTPセッション

リクエストが、CookieやPOSTデータに格納されているかURLにエンコードされたセッション情報を含む場合、そのセッションIDには、セッションが最初に確立された特定のサーバー・インスタンス(プライマリ・サーバーと呼びます)への参照が含まれています。Cookieを含むリクエストは、プライマリ・サーバーに接続しようとします。その試行が失敗すると、プラグインはラウンドロビン方式でリストの次の使用可能なサーバーに接続しようとします。そのサーバーは元のセカンダリ・サーバーからセッションを取得し、その同じセッションのプライマリ・サーバーになります。詳細は、図6-1を参照してください。

注意:

POSTデータが64Kを超える場合、プラグインは、セッションIDを取得するためのPOSTデータの解析を行いません。したがって、セッションIDをPOSTデータに格納した場合、プラグインはリクエストを正しいプライマリまたはセカンダリ・サーバーにルーティングできないので、セッション・データが失われるおそれがあります。

図6-1 接続のフェイルオーバー

この図において、赤いループで許容される最大再試行回数は、ConnectTimeoutSecs/ConnectRetrySecsの値に相当します。

6.4.6 iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2でのSSLの使用

SSL (Secure Sockets Layer)プロトコルを使用すると、iPlanet Web Serverプラグイン用WLS Web Severプロキシ・プラグイン12.1.2とOracle WebLogic Server間の接続を保護できます。SSLプロトコルは、Oracle iPlanet Web ServerプラグインとOracle WebLogic Serverの間で通信されるデータの機密性と整合性を確保します。

iPlanet Web Serverプラグイン用WLS Web Severプロキシ・プラグイン12.1.2は、iPlanet Web Server用WLS Web Severプロキシ・プラグイン12.1.2とOracle WebLogic Server間の接続の保護にSSLプロトコルが使用されるかどうかを決定する際に、(通常はブラウザによって)HTTPリクエストに指定されるトランスポート・プロトコル(httpまたはhttps)を使用しません。

Oracle iPlanet Web ServerプラグインとOracle WebLogic Server間でSSLプロトコルを使用するには:

1. Oracle WebLogic ServerをSSL用に構成します。詳細は、『Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。

2. obj.confファイルのServiceディレクティブのWebLogicPortパラメータを、ステップ1で構成したリスニング・ポートに設定します。

3. obj.confファイルのServiceディレクティブのSecureProxyパラメータをONに設定します。

4. 必要に応じて、obj.confファイルのServiceディレクティブに、SSL接続の情報を定義する追加パラメータを設定します。パラメータのリストは、7.2項「Webサーバー・プラグインのSSLパラメータ」を参照してください。

6.4.7 ファイアウォールとロード・ディレクタを使用する場合のフェイルオーバーの動作

ほとんどの構成では、iPlanet Web Server用WLS Web Severプロキシ・プラグイン12.1.2はリクエストをクラスタのプライマリ・インスタンスに送信します。そのインスタンスが使用できない場合、リクエストはセカンダリ・インスタンスにフェイルオーバーされます。ただし、ファイアウォールとロード・ディレクタを組み合わせて使用する一部の構成では、WebLogic Serverのプライマリ・インスタンスが使用できない場合でも、いずれか1つのサーバー(ファイアウォールまたはロード・ディレクタ)がリクエストを受け入れて、正常な接続を戻すことができます。WebLogic Serverの使用できないプライマリ・インスタンスへのリクエストの送信が試行された後、リクエストは「接続リセット」としてプラグインに戻されます。

ファイアウォールの組合せを介して実行するリクエストは、(ロード・ディレクタの有無に関係なく)WebLogic Serverによって処理されます。つまり、接続リセットのレスポンスは、WebLogic Serverのセカンダリ・インスタンスにフェイルオーバーします。これらの構成では接続リセットのレスポンスがフェイルオーバーするため、サーブレットは多重呼出し不変であることが必要です。そうでない場合、トランザクションの重複処理が発生する可能性があります。

7 Webサーバー・プラグインのパラメータ

この章では、Oracle HTTP Server、Apache HTTP Server、Microsoft IISおよびOracle iPlanet Webサーバー・プラグインを構成するために使用するパラメータについて説明します。内容は以下のとおりです。

- 7.1項「Webサーバー・プラグインの一般的なパラメータ」

- 7.2項「Webサーバー・プラグインのSSLパラメータ」

注意:

Webサーバー・プラグインのパラメータを、各Webサーバーごとに一意的に命名、フォーマットされた特別な構成ファイルで指定する必要があります。それぞれApache HTTP Server、Oracle HTTP Server、Microsoft IISおよびOracle iPlanet Web Server固有の構成ファイルに関する詳細は、次の各章を参照してください。

- 第3章「Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの構成」

- 第2章「Oracle HTTP Server用WebLogicプロキシ・プラグインの構成」

- 第5章「Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

- 第4章「iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

7.1 Webサーバー・プラグインの一般的なパラメータ

Webサーバー・プラグインの一般的なパラメータを表7-1に示します。パラメータでは大文字/小文字が区別されます。

表7-1 Webサーバー・プラグインの一般的なパラメータ

パラメータ名

デフォルト

説明

適用対象

WLIOTimeoutSecs

(HungServerRecoverSecsの新しい名称)

300

WebLogic Serverからのリクエストへのレスポンスに対するプラグインの待機時間を定義します。プラグインは、サーバーがレスポンスするまでWLIOTimeoutSecsで指定した秒数だけ待機してから、サーバーのレスポンスなしを宣言して、次のサーバーにフェイルオーバーします。この値は、大きな値にしておく必要があります。サーブレットの処理時間より短くした場合は、予期しない結果が発生する場合があります。

最小値: 10

最大値: 制限なし

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicCluster

(WebLogic Serverのクラスタまたは複数のクラスタ化されていないサーバーにプロキシする場合は必須。)

なし

クラスタ化されたバックエンド・サーバーのリストをプロキシするため、またはクラスタ化されていない管理対象サーバーのインスタンス間のロード・バランシングを行うために、WebLogicClusterパラメータは必須です。

ロード・バランシング用に使用できるWebLogic Serverのリスト。サーバーまたはクラスタのリストは、host:portという形式のエントリのリストです。複数のクラスタと単一サーバーの組合せを指定すると、このパラメータに戻される動的リストは、クラスタ化されたサーバーのみを戻します。

このパラメータの値を指定するために使用する構文は、プラグインを構成する対象のWebサーバーによって異なります。詳細は、次を参照してください。

- 第3章「Apache HTTP Server用WLS Webサーバー・プロキシ・プラグインの構成」

- 第2章「Oracle HTTP Server用WebLogicプロキシ・プラグインの構成」

- 第5章「Microsoft IIS Webサーバー用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

- 第4章「iPlanet Web Server用WLS Webサーバー・プロキシ・プラグイン12.1.2の構成」

プラグインとWebLogic Serverとの間でSSLを使用している場合は、ポート番号をSSLリスニング・ポートに設定し、SecureProxyパラメータをONに設定します。

プラグインは、使用可能なサーバー間で単純なラウンド・ロビンを行います。このプロパティで指定するサーバー・リストは、サーバーおよびプラグインが保持する動的サーバー・リストの起点です。新しく追加されたり、障害が発生したり、障害から回復したクラスタ・メンバーがあると、WebLogic Serverとプラグインは連携して自動的にサーバー・リストを更新します。

動的クラスタ・リストを無効化するには、DynamicServerListパラメータをOFFに設定します。

プラグインは、Cookieの含まれているHTTPリクエスト、URLエンコーディングされたセッションの含まれているHTTPリクエスト、またはPOSTデータに格納されているセッションの含まれているHTTPリクエストをそのCookieを元々作成したクラスタ内のサーバーに転送します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicHost

(単一のWebLogic Serverにプロキシする場合は必須)

なし

HTTPリクエストを転送する必要があるWebLogic Serverホスト(またはWebLogic Serverで定義されたものと同じ仮想ホスト名)を示します。WebLogicクラスタを使用している場合、WebLogicHostのかわりにWebLogicClusterパラメータを使用します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicPort

(単一のWebLogic Serverにプロキシする場合は必須)

なし

プラグイン(または他のサーバー)からの接続リクエストのWebLogic Serverホスト上のリスニング・ポートを示します。(プラグインとWebLogic Serverとの間でSSLを使用している場合、このパラメータにSSLのリスニング・ポートを設定し、SecureProxyパラメータをONに設定します)。

WebLogicクラスタを使用している場合は、WebLogicPortのかわりにWebLogicClusterパラメータを使用します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicSSLVersion

なし

プラグインとWebLogic Server間の通信に使用するSSLプロトコルのバージョンを選択します。次の値を指定できます。

- SSLv3: SSL v3を使用します。

- TLSv1: TLS v1を使用します。

- TLSv1_1: TLS v1.1を使用します。

- TLSv1_2: TLS v1.2を使用します。

選択したSSLプロトコルのバージョンは、プラグインからWebLogic Serverへのすべての接続で使用されます。したがって、このパラメータはグローバル・スコープで定義してください。

構成しないと、プラグインとWebLogic Serverの両方でサポートされているプロトコルのうちの最適なものが使用されます。

Apache HTTP Server

WLCookieName

(CookieNameは非推奨です。)

JSESSIONID

WebLogic Server WebアプリケーションのWebLogic ServerセッションCookie名を変更した場合、プラグインのWLCookieNameパラメータを同じ値に変更する必要があります。WebLogicセッションCookie名は、WebLogic固有のデプロイメント記述子の<session-descriptor>要素で設定されます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

ConnectRetrySecs

2

WebLogic Serverホスト(またはクラスタ内のすべてのサーバー)への接続試行の間にプラグインがスリープする間隔(秒)。この値はConnectTimeoutSecsより小さくします。「HTTP 503/Service Unavailable」のレスポンスをクライアントに戻す前にプラグインが接続を試行する回数は、ConnectTimeoutSecsをConnectRetrySecsで除算することで算出されます。

再試行しないようにするには、ConnectRetrySecsをConnectTimeoutSecsと同じ値に設定します。ただし、プラグインは最低2回接続を試みます。

エラー・レスポンスはErrorPageパラメータを使用してカスタマイズできます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

ConnectTimeoutSecs

10

プラグインがWebLogic Serverホストへの接続を試行する最大時間(秒)。この値はConnectRetrySecsより大きくします。接続できないまま、何回か再試行(ConnectRetrySecsの項を参照)しても成功しないままConnectTimeoutSecsの期限が切れた場合、「HTTP 503/Service Unavailable」のレスポンスがクライアントに送られます。

エラー・レスポンスはErrorPageパラメータを使用してカスタマイズできます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

Debug

非推奨

OFF

デバッグ操作用に実行されるロギングのタイプを設定します。デバッグ情報は、Windows NT/2000システムではc:\TEMP\wlproxy.logに書き込まれます。

WLLogFileパラメータを別のディレクトリとファイルに設定して、この場所とファイル名をオーバーライドします。(この場所を変更する他の方法については、「WLTempDir」パラメータを参照してください。)

サーバーにログインするユーザーに対してTEMPディレクトリへの書込み権限が割り当てられていることを確認してください。次のいずれかのロギング・オプションを設定します(HFC、HTW、HFWおよびHTCのオプションを組み合せて、「HFC,HTW」のようにカンマで区切って設定することもできます)。

- ON: プラグインは、情報メッセージおよびエラー・メッセージを記録します。

- OFF: デバッグ情報は記録されません。

- HFC: プラグインは、クライアントからのヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HTW: プラグインは、WebLogic Serverに送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HFW: プラグインは、WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HTC: プラグインは、クライアントに送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- ERR: プラグインのエラー・メッセージのみを出力します。

- ALL: プラグインは、クライアントに送信されたヘッダー、クライアントから送信されたヘッダー、WebLogic Serverに送信されたヘッダー、WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

Microsoft IIS

DebugConfigInfo

OFF

特殊な問合せパラメータ「__WebLogicBridgeConfig」を有効にします。このパラメータは、プラグインから構成パラメータに関する詳細を取得するために使用します。

たとえば、DebugConfigInfoを設定して「__WebLogicBridgeConfig」を有効にし、問合せ文字列「?__WebLogicBridgeConfig」を含むリクエストを送信すると、プラグインによって構成情報と実行時統計が収集され、その情報がブラウザに戻されます。この場合、プラグインはWebLogic Serverに接続しません。

このパラメータはデバッグにのみ使用するもので、出力メッセージの形式はリリースによって異なります。セキュリティのため、本番システムではこのパラメータをOFFにしてください。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

DefaultFileName

なし

URIが「/」の場合、プラグインは次の手順を実行します。

PathTrimパラメータで指定されたパスを取り除きます。

DefaultFileNameの値を末尾に付加します。

PathPrependで指定された値を先頭に付加します。

これによって、WebLogic Serverからリダイレクトされなくなります。

DefaultFileNameは、リクエストがプロキシされるWebLogic ServerのWebアプリケーションのデフォルト・ウェルカム・ページに設定します。たとえば、DefaultFileNameをwelcome.htmlに設定した場合、HTTPリクエストが「http://somehost/weblogic」であれば、「http://somehost/weblogic/welcome.html」になります。このパラメータが機能するためには、リクエストが転送されるすべてのWebアプリケーションで同じウェルカム・ファイルを指定する必要があります。詳細は、「ウェルカム・ページの構成」を参照してください。

Apacheユーザーのための注意: StrongholdバージョンまたはRavenバージョンを使用する場合は、IfModuleブロックではなくLocationブロックでこのパラメータを定義します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

DynamicServerList

ON

OFFに設定すると、プラグインからプロキシされるリクエストをロード・バランシングするために使用される動的クラスタ・リストが無視され、WebLogicClusterパラメータで指定された静的リストのみが使用されます。通常、このパラメータはONのままにします。

このパラメータをOFFに設定すると、いくつかの影響があります。

- 静的リストの1つまたは複数のサーバーで障害が発生した場合、プラグインは応答不能のサーバーへの接続に時間を費やし、その結果としてパフォーマンスが低下する可能性があります。

- クラスタに新しいサーバーを追加した場合は、このパラメータを再定義するまでプラグインはその新しいサーバーにリクエストをプロキシできません。WebLogic Serverは、新しいサーバーがクラスタに追加されたときに動的サーバー・リストにその新しいサーバーを自動的に追加します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

ErrorPage

なし

WebサーバーがリクエストをWebLogic Serverに転送できなかった場合に表示されるユーザー独自のエラー・ページを作成できます。

バックエンド・サーバーから「HTTP 503/Service Unavailable」レスポンスが返され、フェイルオーバー用のサーバーがない場合、プラグインによってエラー・ページにリダイレクトされます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

FileCaching

ON

ONに設定すると、リクエストのPOSTデータのサイズが2048バイトより大きい場合、POSTデータはまずディスク上の一時ファイルに読み込まれ、次に8192バイトのチャンク単位でWebLogic Serverに転送されます。これにより、フェイルオーバーの間もPOSTデータが保持され、プライマリがダウンしても、必要なすべてのデータをセカンダリに複写することができます。

FileCachingがONになっていると、データがWebServerとWebLogicの間でまだ転送中であっても、POSTの進行状況を追跡するクライアントは転送が完了したものと認識することに注意してください。したがって、アップロード時にブラウザに進行状況バーを表示して、WebLogic Serverで実際にデータが使用可能になったタイミングを示す場合は、FileCachingをONにしないことも検討する必要があります。

OFFに設定すると、リクエストのPOSTデータのサイズが2048バイトより大きい場合、リクエストを処理するWebLogic Serverクラスタ・メンバーが特定されるまでPOSTデータの読込みが延期されます。その後、プラグインがPOSTデータを読み込み、ただちに8192バイトのチャンク単位でWebLogic Serverに送信します。

FileCachingをOFFにするとフェイルオーバーが制限されることに注意してください。リクエストの処理中にWebLogic Serverプライマリ・サーバーがダウンした場合、すでにプライマリに送信されたPOSTデータはセカンダリに複写できません。

なお、POSTデータのサイズが2048バイト以下の場合は、FileCachingの設定に関係なくプラグインがデータをメモリーに読み込み、フェイルオーバー時にセカンダリへの複写が必要であればこれを使用します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

Idempotent

ON

「ON」に設定されている状態で、サーバーが「WLIOTimeoutSecs」の時間内に応答しないと、メソッドが冪等の場合にプラグインはフェイルオーバーします。

Idempotentを「ON」に設定している場合も、プラグインはフェイルオーバーされ、サーバーがREAD_ERROR_FROM_SERVERなどのエラーを戻します。

「OFF」に設定した場合、プラグインはフェイルオーバーしません。Apache HTTP Serverを使用している場合は、複数のURLまたはMIMEタイプに対してこのパラメータを別々に設定できます。

多重呼出し不変が有効になるのは、リクエストがWebLogic Serverに正常に送信され、プラグインがバックエンド・サーバーからのレスポンスを待機している場合にかぎられます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

KeepAliveEnabled

true (Microsoft IISプラグイン)

ON (Oracle HTTP ServerおよびApache HTTP Server)

ON (Oracle iPlanet Web Server)

プラグインとWebLogic Serverの間の接続のプールを有効化します。

Microsoft IISプラグインの有効な値は、trueおよびfalseです。

Apache HTTP Serverの有効な値は、ONおよびOFFです。

Apache prefork mpmの使用中に、Apache Webサーバーはクラッシュする可能性があります。prefork mpmの使用時にはKeepAliveEnabledをOFFに設定するか、Apacheでworker mpmを使用します。

Oracle iPlanet Webserverの有効な値は、ONおよびOFFです。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

KeepAliveSecs

20

プラグインとWebLogic Serverの間のアクティブではない接続が閉じられるまでの時間。このパラメータを有効にするには、KeepAliveEnabledをtrue (Apache HTTP Serverを使用している場合はON)に設定する必要があります。

このパラメータの値は、管理コンソールのサーバー/HTTPタブで設定される期間フィールドの値、またはKeepAliveSecs属性を使用してサーバーMBeanで設定される値以下である必要があります。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

MatchExpression

なし

MIMEタイプによるプロキシを行う場合、MatchExpressionパラメータを使用してIfModuleブロック内にファイル名のパターンを設定します。

MIMEタイプによるプロキシの場合の例:

<IfModule weblogic_module>
MatchExpression *.jsp
WebLogicHost=myHost|paramName=value
</IfModule>

パスによるプロキシの場合の例:

<IfModule weblogic_module>
MatchExpression /weblogic
WebLogicHost=myHost|paramName=value
</IfModule>

次の構文を使用して、MatchExpressionの新しいパラメータを定義することもできます。

MatchExpression *.jsp PathPrepend=/test PathTrim=/foo

Oracle HTTP Server

Apache HTTP Server

MaxPostSize

-1

POSTデータの最大許容サイズ(バイト単位)。コンテキスト長がMaxPostSizeを超えた場合、プラグインによってエラー・メッセージが戻されます。-1に設定した場合、POSTデータのサイズはチェックされません。これは、POSTデータを使用してサーバーを過負荷状態にしようとするサービス拒否攻撃を防ぐために役立ちます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

MaxSkipTime

10

WebLogicClusterパラメータまたはWebLogic Serverから戻される動的クラスタ・リストにあるWebLogic Serverで障害が発生した場合、その障害の発生したサーバーは「bad」とマークされ、プラグインはリスト内の次のサーバーに接続しようとします。

MaxSkipTimeには、プラグインが「bad」とマークされたサーバーへの接続を再試行するまでの時間を設定します。プラグインは、固有のリクエスト(Cookieのないリクエスト)を受信するたびにリスト内の新しいサーバーに接続しようとします。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

PathPrepend

null

RFC仕様に従ったURLの一般的な構文は次のとおりです。

[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...

PathPrependには、PathTrimの値が取り除かれた後、リクエストがWebLogic Serverに転送される前に、プラグインによって元のURLの{PATH}の部分の先頭に付加されるパスを指定します。

なお、ファイル名を追記する必要がある場合は、PathPrependではなく、DefaultFileNameパラメータを使用してください。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

PathTrim

null

RFC仕様に従ったURLの一般的な構文は次のとおりです。

[PROTOCOL]://[HOSTNAME]:{PORT}/{PATH}/{FILENAME};{PATH_PARAMS}/{QUERY_STRING}...

PathTrimは、リクエストがWebLogic Serverに転送される前に、元のURLの{PATH}/{FILENAME}の部分からプラグインによって取り除かれる文字列を指定します。たとえば、次のURL

http://myWeb.server.com/weblogic/foo

が解析のためにプラグインに渡され、URLがWebLogic Serverに渡される前にPathTrimが/weblogicを取り除くように設定されている場合、WebLogic Serverに転送されるURLは次になります。

http://myWeb.server.com:7001/foo

既存のサード・パーティ・サーバーを新しく変更し、プラグインを使用してWebLogic Serverにリクエストをプロキシする場合、/fooへのアプリケーション・パスを変更してweblogic/fooを含むようにする必要があります。PathTrimおよびPathPrependを組み合わせて使用すると、このパスを変更できます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

QueryFromRequest

OFF

ONに設定すると、Apache HTTP Serverは次を使用して、

(request_rec *)r->the_request

問合せ文字列をWebLogic Serverに渡します。(詳細についてはApacheのドキュメントを参照してください。)Netscapeバージョン4.xブラウザによるリクエストで、問合せ文字列にスペースが含まれている場合、この動作が求められます。

OFFに設定されている場合、Apache HTTP Serverは(request_rec *)r->argsを使用してWebLogic Serverに問合せ文字列を渡します。

Oracle HTTP Server

Apache HTTP Server

WLDNSRefreshInterval

0 (起動時に1回のみルックアップ)

プロキシ構成で定義する場合、WebLogic ServerがサーバーのDNS名からIPへのマッピングをリフレッシュする間隔を秒単位で指定します。WebLogic Serverインスタンスを別のIPアドレスに移行する場合に使用できますが、そのサーバーのIPのDNS名は変更されません。この場合、指定したリフレッシュ間隔でDNS<->IPのマッピングが更新されます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

WLExcludePathOrMimeType

なし

このパラメータを使用すると、特定のリクエストをプロキシ処理から除外できます。

このパラメータは、Locationタグ・レベルでローカルに定義することも、グローバルに定義することもできます。このプロパティをローカルに定義した場合、グローバルなプロパティはオーバーライドされず、2つのパラメータの結合が定義されます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLFlushChunks

False

デフォルトでは、チャンクの受信時にチャンクをストリーミングするかわりに、チャンク化された転送エンコード・レスポンスはIISプラグインによってバッファリングされます。WLFlushChunksフラグがtrueに設定されている場合は、プラグインはWebLogic Serverから受信したチャンクをただちにフラッシュします。

Microsoft IIS

WLForwardUriUnparsed

OFF

ONに設定すると、WLSプラグインによって元のURIはクライアントからWebLogic Serverに転送されます。OFF(デフォルト)に設定すると、WebLogic Serverに送信されるURIは、mod_rewriteによる変更または他のWebサーバー・プラグイン・モジュールの影響を受けることになります。

Oracle HTTP Server

Apache HTTP Server

WLLocalIP

なし

プラグインがマルチホーム・マシンで動作しているWebLogic Serverインスタンスに接続する場合のバインド先の(プラグインのシステム上の) IPアドレスを定義します。

WLLocalIPが設定されていない場合、TCP/IPスタックによってソースIPアドレスが選択されます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLLogFile

非推奨

Debugパラメータを参照

DebugパラメータがONに設定されている場合に生成されるログ・ファイルのパスとファイル名を指定します。このディレクトリはこのパラメータの設定前に作成する必要があります。

Microsoft IIS

WLProxyPassThrough

OFF

プロキシ・プラグインまたはHttpClusterServletが一部の他のプロキシまたはロード・バランサで稼働中の連鎖プロキシ設定がある場合、WLProxyPassThroughパラメータを明示的に有効化する必要があります。このパラメータによって、ヘッダーはプロキシの連鎖に渡されるようになります。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLProxySSL

OFF

次の条件に一致する場合、プラグインとWebLogic Server間のSSL通信を維持する場合は、このパラメータをONに設定します。

- HTTPクライアント・リクエストがHTTPSプロトコルを指定しています。

- リクエストが1つまたは複数のプロキシ・サーバー(WebLogic Serverプロキシ・プラグインを含む)を経由して渡されました。

- プラグインとWebLogic Server間の接続でHTTPプロトコルを使用しています。

WLProxySSLをONに設定すると、WebLogic Serverからクライアントに戻されるロケーション・ヘッダーではHTTPSプロトコルが指定されます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLProxySSLPassThrough

OFF

ロード・バランサまたはWebサーバーとプラグインの前面にデプロイされたソフトウェアがSSL終端ポイントにあり、SSLでクライアントが接続されているかどうかに基づいてその製品がWL-Proxy-SSLリクエスト・ヘッダーをtrueまたはfalseに設定している場合、SSLの使用がOracle WebLogic Serverに渡されるようにWLProxySSLPassThroughをONに設定します。

SSL終端ポイントがプラグインが動作しているWebサーバーにあるか、またはロード・バランサがWL-Proxy-SSLを設定していない場合は、WLProxySSLPassThroughをOFF(デフォルト)に設定します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLRetryAfterDroppedConnection

ALL

WLSがステータス行を送信する前に接続が切断された場合に、Apacheプラグインがどのリクエストを再試行するかを指定します。有効な引数は次のとおりです。

- ALL: すべてのリクエストが再試行されます。

- IDEMPOTENT: 多重呼出し不変メソッドを使用したリクエストのみが再試行されます。

- NONE: リクエストは再試行されません。

Apache HTTP Server

Oracle HTTP Server

Oracle iPlanet Web Server

Microsoft IIS

WLSendHdrSeparately

ON

このパラメータをONに設定すると、ヘッダーおよびレスポンスの本文が別々のパケットで送信されます。

注意: ヘッダーとレスポンスの本文を2つのコールで送信する必要がある場合、たとえば、他のISAPIフィルタまたは本文の前にヘッダーがあることを期待するクライアントを持つ場合、このパラメータをONに設定します。

Microsoft IIS

WLServerInitiatedFailover

ON

これは、Oracle WebLogic Serverからの503エラー・レスポンスがもう1つのサーバーへのフェイルオーバーをトリガーするかどうかが制御します。通常、503エラー・レスポンスの受信時には、プラグインによってもう1つのサーバーへのフェイルオーバーが試行されます。WLServerInitiatedFailoverをOFFに設定すると、503エラー・レスポンスはただちにクライアントに返されます。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLSocketTimeoutSecs

2 (0より大きな値)

接続中のソケットのタイムアウトを秒単位で設定します。詳細は、ConnectTimeoutSecsおよびConnectRetrySecsを参照してください。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WLSRequest

OFF

Oracle WebLogic Serverに転送されるリクエストの認識に使用されるWLSRequest Onメカニズムの代替となるメカニズムです。たとえば:

<Location /weblogic>
WLSRequest ON
PathTrim /weblogic
</Location>

SetHandler weblogic-handlerを使用するかわりにWLSRequestをONに設定すると、次の利点があります。

- 一般的なWebサーバー処理オーバーヘッドを低減します

- WebサーバーのDocumentRootが処理速度の遅いファイルシステム上にある場合に起こる著しいパフォーマンスの低下を解決します

- ファイルシステムの長さ制限によりマッピングできないURIに対する403エラーを解決します

Oracle HTTP Server

Apache HTTP Server

WLTempDir

Debugパラメータを参照

Oracle HTTP Server、Apache HTTP ServerおよびOracle iPlanet HTTP Serverの場合、このディレクティブでPOSTデータ・ファイル用の_wl_proxyディレクトリの場所を指定します。

Microsoft IISの場合は、このディレクティブでwlproxy.logが作成されるディレクトリを指定します。場所が見つからない場合、プラグインによってC:/tempの下にログ・ファイルが作成されます。また、POSTデータ・ファイル用の_wl_proxyディレクトリの場所も指定されます。WLTempDirおよびWLLogFileの両方を設定した場合、wlproxy.logの場所についてはWLLogFileが優先されます。_wl_proxyディレクトリの場所は、依然としてWLTempDirによって決まります。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

7.1.1 POSTデータ・ファイルの場所

FileCachingパラメータをONに設定すると、リクエストのPOSTデータのサイズが2048バイトより大きい場合、POSTデータはまずディスク上の一時ファイルに読み込まれ、次に8192バイトのチャンク単位でWebLogic Serverに転送されます。これにより、フェイルオーバーの間もPOSTデータが保持されます。

UNIXでは、POSTファイルが/tmp/_wl_proxyにあります。Windowsでは、これは次の場所にあります(WLTempDirを指定していない場合):

1. 環境変数TMP

2. 環境変数TEMP

3. C:\Temp

/tmp/_wl_proxyは、HTTP Serverのユーザーが所有する固定ディレクトリです。様々なユーザーによってインストールされた複数のHTTP Serverが存在する場合、このディレクトリに書き込めないHTTP Serverが存在する場合があります。この状況により、次のようなエラーが発生します。

この問題を解決するには、WLTempDirパラメータを使用して、POSTデータ・ファイルの_wl_proxyに対して別の場所を指定します。

7.2 Webサーバー・プラグインのSSLパラメータ

注意:

SCG証明書は、WebLogic Serverプロキシ・プラグインで使用できません。SCG以外の証明書は適切に機能し、その場合はWebLogic Serverとプラグインの間でSSL通信を行えます。

キーストア関連の初期化パラメータは、WebLogic Serverプロキシ・プラグインで使用できません。

Webサーバー・プラグインのSSLパラメータを表7-2に示します。パラメータでは大文字/小文字が区別されます。

表7-2 Webサーバー・プラグインのSSLパラメータ

パラメータ

デフォルト

説明

適用対象

SecureProxy

OFF

このパラメータをONに設定すると、プラグインとWebLogic Server間のすべての通信でSSLプロトコルの使用が有効になります。このパラメータを定義する前に、対応するWebLogic ServerのポートをSSLプロトコル用に構成しておく必要があります。

このパラメータは、メイン・サーバー用の構成と仮想ホスト用の構成(仮想ホストが定義されている場合)の2つのレベルで設定できます。仮想ホスト用の構成でこの設定がオーバーライドされない場合、仮想ホスト用の構成はメイン・サーバー用の構成からSSLの構成を継承します。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

WebLogicSSLVersion

なし

プラグインとWebLogic Server間の通信に使用するSSLプロトコルのバージョンを選択します。次の値を指定できます。

- SSLv3: SSL v3を使用します。

- TLSv1: TLS v1を使用します。

- TLSv1_1: TLS v1.1を使用します。

- TLSv1_2: TLS v1.2を使用します。

選択したSSLプロトコルのバージョンは、プラグインからWebLogic Serverへのすべての接続で使用されます。したがって、このパラメータはグローバル・スコープで定義してください。

デフォルトでは、このディレクティブは設定されません。構成しないと、プラグインとWebLogic Serverの両方でサポートされているプロトコルのうちの最適なものが使用されます。

Apache HTTP Server

Oracle HTTP Server

WLSSLWallet

なし

WLSSLWalletは、Oracle WebLogic Server SSLの構成方法によって一方向SSLまたは双方向SSLを実行します。

引数としてOracleウォレット(SSOウォレット・ファイルを含む)のパスが必要です。

たとえば、WLSSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/default"とします。

Oracle HTTP Server

Oracle iPlanet Web Server

Apache HTTP Server

Microsoft IIS

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2014, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。