Fusion Middleware Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用

11g リリース1 (10.3.6)

B61009-04(原本部品番号:E16435-04)

目次

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

はじめに

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

- 表記規則

1 概要とロードマップ

- 1.1 ドキュメントのスコープと対象読者

- 1.2 このドキュメントの手引き

- 1.3 関連ドキュメント

- 1.4 このリリースでの新機能と変更点

2 Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用

- 2.1 プラグインとは

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

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

- 2.2 ダウンロード可能なバージョン1.1プラグイン

- 2.2.1 バージョン1.0プラグインは非推奨

- 2.3 バージョン1.0プラグインからのアップグレード

- 2.4 バージョン1.1プラグインの機能

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

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

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

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

- 2.5 プラグインのサポートされるプラットフォーム

- 2.6 バージョン1.1プラグインのダウンロード

3 Apache HTTP Serverプラグインのインストールと構成

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

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

- 3.1.2 Apache HTTP Serverプラグインの動的共有オブジェクトとしてのインストール

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

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

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

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

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

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

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

4 Oracle HTTP Server用のプラグインの構成

- 4.1 Oracle HTTP Server用のプラグインの構成

5 Microsoft IISプラグインのインストールと構成

- 5.1 Microsoft Internet Information Serverプラグインのインストールと構成

- 5.1 Microsoft Internet Information Server IIs 7.0プラグインのインストールと構成

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

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

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

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

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

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

- 5.6 IISからWebLogic Serverへのサーブレットのプロキシ

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

6 Oracle iPlanet Web Serverプラグインのインストールと構成

- 6.1 Oracle iPlanet Web Serverプラグインの概要

- 6.2 Oracle iPlanet Web Serverプラグインのインストールと構成

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

- 6.2.2 Oracle iPlanet Web Serverプラグインのインストール

- 6.2.3 Oracle iPlanet Web Serverプラグインの構成

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

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

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

7 共通タスクの実行

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

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

- 7.1.1.1 Apache HTTP Serverで使用するSSLライブラリの構成

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

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

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

- 7.3 境界認証の設定

- 7.4 WebLogic ServerにおけるWebLogicプラグイン有効化制御の設定

- 7.5 接続エラーとクラスタリング・フェイルオーバーについて

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

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

- 7.5.3 クラスタリングされていない単一のWebLogic Serverでのフェイルオーバー

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

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

- 7.5.6 Oracle iPlanet Web ServerプラグインでのSSLの使用

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

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

- 8.1 Webサーバー・プラグインの構成ファイルでのパラメータの入力

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

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

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

Oracle® Fusion Middleware

Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用

11g リリース1 (10.3.6)

B61009-04(原本部品番号:E16435-04)

2011年11月

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

Oracle Fusion Middleware Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用, 11g リリース1 (10.3.6)

B61009-04

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

主著者: Srinivas Sudhindra

協力者: Seema Alevoor、Kumar Dhanagopal、Jeff Trawick、Yulong Shi、Srikamakoti Vaidyanathan

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

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

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

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およびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

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

はじめに

ここでは、『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』で使用されるアクセシビリティ機能および表記規則について説明します。

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

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 概要とロードマップ

この章では、『Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用』の内容と構成について説明します。

1.1 ドキュメントのスコープと対象読者

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

1.2 このドキュメントの手引き

この章では、このガイドの構成について説明します。このガイドは次のように構成されています。

- 第2章「Oracle WebLogic ServerでのWebサーバー1.1プラグインの使用」では、WebLogic ServerでOracleによって提供されるプラグインについて説明します。

- 第3章「Apache HTTP Serverプラグインのインストールと構成」では、Apache HTTP Serverプラグインのインストール方法および構成方法について説明します。

- 第4章「Oracle HTTP Server用のプラグインの構成」では、Oracle HTTP Serverプラグインのインストール方法および構成方法について説明します。

- 第5章「Microsoft IISプラグインのインストールと構成」では、Microsoft Internet Information Serverプラグインのインストール方法および構成方法について説明します。

- 第6章「Oracle iPlanet Web Serverプラグインのインストールおよび構成」では、Oracle iPlanet Web Serverプラグインのインストール方法および構成方法について説明します。

- 第7章「共有タスクの実行」では、WebLogic Serverで使用するためにOracleが提供するプラグイン用に実行する共有タスクについて説明します。

- 第8章「Webサーバー・プラグインのパラメータ」では、Apache HTTP ServerおよびMicrosoft IISのOracle iPlanet Webサーバー・プラグインを構成するために使用するパラメータについて説明します。

1.3 関連ドキュメント

このドキュメントでは、Webサーバー・プラグインの使用について説明します。

Oracle WebLogic Serverの利用可能なドキュメントの一般情報については、『Oracle WebLogic Serverインフォメーション・ロードマップ』を参照してください。

1.4 このリリースでの新機能と変更点

このリリースで導入されたその他のOracle WebLogic Serverの総合的な新機能の一覧については、「Oracle WebLogic Serverの新機能」を参照してください。

2 Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使用

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

- 2.1項「プラグインとは」

- 2.2項「ダウンロード可能なバージョン1.1プラグイン」

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

- 2.5項「プラグインのサポートされるプラットフォーム」

- 2.6項「バージョン1.1プラグインのダウンロード」

2.1 プラグインとは

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

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

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

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

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

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

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

2.1.2 リクエストのプロキシ

プラグインは、指定された構成に基づいてリクエストをWebLogic Serverにプロキシします。リクエストは、リクエストのURLまたはURLの一部に基づいてプロキシできます。これをパスによるプロキシと呼びます。

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

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

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

2.2 ダウンロード可能なバージョン1.1プラグイン

バージョン1.1プラグインは、WebLogic Serverにバンドルされていませんが、そのかわりにダウンロード可能です。

プラグインのダウンロード方法については、2.6項「バージョン1.1プラグインのダウンロード」を参照してください。

次のバージョン1.1プラグインを、Oracle WebLogic Serverのこのリリースで使用するためにダウンロードできます。

- Apache HTTP Server 2.2.x

- Microsoft Internet Information Server (IIS 6.0およびIIS 7.0)

- Oracle iPlanet Web Server (7.0.9以降)

Oracle HTTP Serverでは、Oracle HTTP ServerにバンドルされているApache HTTP Serverプラグインが使用されます。

2.2.1 バージョン1.0プラグインは非推奨

バージョン1.0プラグインは、Oracle WebLogic Serverのこのリリースでは非推奨です。バージョン1.1プラグインへの置き換えをお薦めします。

バージョン1.1プラグインは、『Oracle WebLogic ServerにおけるWebサーバー・プラグインの使用』に記載されたバージョン1.0プラグインのスーパーセットであり、既存の機能をサポートしています。iPlanetプラグインは1.1機能を現在サポートします。

注意:
iPlanetプラグインは、バージョン7.0.9以降のiPlanet Web Serverをサポートしています。
バージョン1.1プラグインは、Apache HTTP Server 2.2.xのみサポートしています。Apache HTTP Server 1.3.xまたはApache HTTP Server 2.0.xを使用する必要がある場合、バージョン1.0プラグインを引き続き使用します。

以前のリリースと同じように、バージョン1.0プラグインは、Oracle WebLogic Serverに引き続きバンドルされます。ただし、バージョン1.0プラグインは、Oracle Weblogic Serverの将来のバージョンにバンドルされるかどうかは保証されません。そのかわりに、2.6項「バージョン1.1プラグインのダウンロード」に記載されているとおり、バージョン1.1プラグインをダウンロードして使用することをお薦めします。

2.3 バージョン1.0プラグインからのアップグレード

バージョン1.1プラグインは、『Oracle WebLogic ServerにおけるWebサーバー・プラグインの使用』に記載されたバージョン1.0プラグインのスーパーセットであり、既存の機能をサポートしています。ただし、アップグレードするときに、次の事項に注意する必要があります。

- 2.5項「プラグインのサポートされたプラットフォーム」に記載されているように、サポートされているプラットフォームのリストが変更されました。

- バージョン1.1プラグインは、Oracle iPlanet Web Serverを除く既存のほとんどのバージョン1.0プラグインの機能をサポートしています。Apache 1.3.xまたはApache 2.0.xを使用する必要がある場合、バージョン1.0プラグインを引き続き使用します。

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

2.4 バージョン1.1プラグインの機能

この項では、バージョン1.1プラグインの新機能について説明します。次のトピックについて説明します。

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

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

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

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

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

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

一方、バージョン1.1プラグインは、128ビット暗号化のみをサポートするため、プラグインの名前が単純化されています。たとえば、ただ1つの必要なファイル名は、mod_wl.soです。

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

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

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

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

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

2.4.3 バージョン1.1プラグインでのIPv6のサポート

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

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

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

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

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

2.5 プラグインのサポートされるプラットフォーム

http://http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.htmlに記載されているプラットフォームでバージョン1.1プラグインがサポートされています。

2.6 バージョン1.1プラグインのダウンロード

WebLogic Serverバージョン1.1プラグインは、http://support.oracle.comか、またはhttp://edelivery.oracle.comからもダウンロードできます。

WebLogic Server 1.1プラグインは、必要なバイナリおよびヘルパー・ファイルを含む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ヘルパー・ライブラリ)

3 Apache HTTP Serverプラグインのインストールと構成

次の項では、Apache HTTP Serverプラグインをインストールして構成する方法を説明します。

- 3.1項「Apache HTTP Serverプラグインのインストール」

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

注意:
Oracle WebLogic Serverのこのリリースでは、単一のプラグインがApache HTTP ServerおよびOracle HTTP Serverの両方をサポートしています。

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

2.6項「バージョン1.1プラグインのダウンロード」の説明に従ってApache HTTP Serverプラグインをダウンロードした後、Apache HTTP ServerにApache HTTP Serverモジュールとしてインストールでき、動的共有オブジェクト(DSO)としてリンクできます。

DSOは、実行時にサーバーに動的にロードされるライブラリとしてコンパイルされ、Apache HTTP Serverを再コンパイルせずにインストールできます。

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

Apache HTTP Serverプラグインをインストールする前に、次の前提条件を満たす必要があります。

- 2.6項「バージョン1.1プラグインのダウンロード」の説明に従って、Apache HTTP Serverプラグインをダウンロードします。

- ターゲット・システム上の選択した場所にプラグインのzip配布を展開します。たとえば、/home/myhome/weblogic-plugins-1.1/です。

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

- サポートされているApache HTTP Serverインストールが存在します。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlに記載されているApache HTTP Serverプラットフォームでバージョン1.1プラグインがサポートされています。

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

3.1.2 Apache HTTP Serverプラグインの動的共有オブジェクトとしてのインストール

Apache HTTP Serverプラグインは、UNIXプラットフォーム用の共有オブジェクト(.so)およびWindows用のDLLとして配布されます。

Apache HTTP Serverプラグインを動的共有オブジェクトとしてインストールするには:

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

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

3. mod_so.cモジュールが有効であることを確認します。
Apache HTTP Serverプラグインは、Apache HTTP Serverインストールに動的共有オブジェクト(DSO)としてインストールされます。

Apache HTTP ServerのDSOサポートは、mod_wl.soをロードする前に有効にする必要のあるモジュールmod_so.cに基づいています。

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

APACHE_HOME/bin/apachectl -l

このコマンドは、Unix/Linuxオペレーティング・システムに適用されます。

(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)

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

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

「http://httpd.apache.org/docs/2.2/dso.html」にある「Apache 2.2 Shared Object (DSO) Support」を参照してください。

Windowsオペレーティング・システムの場合は、次のコマンドを実行します。

APACHE_HOME\bin\httpd -l

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

5. httpd.confファイルを開きます。
ファイルは、APACHE_HOME/conf/httpd.confにあります。(ここで、APACHE_HOMEは、Apache HTTP Serverインストールのルート・ディレクトリを示します。)3.2項「Apache HTTP Serverプラグインの構成」のサンプルhttpd.confファイルを参照してください。

6. APACHE_HOME/conf/httpd.confファイルに次の行を追加して、Apache 2.2.xに対してApache HTTP Serverプラグイン・モジュールをインストールしてください。Windowsの場合は、DLLファイルを指定します。

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

7. 次のコマンドで、APACHE_HOME/conf/httpd.confファイルの構文を検証します。

APACHE_HOME/bin/apachectl -t

このコマンドは、Unix/Linuxオペレーティング・システムに適用されます。

(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)

このコマンドの出力では、httpd.confファイルのエラーが示されるか、次が返されます。

Syntax OK

Windowsオペレーティング・システムの場合は、次のコマンドを実行します。

APACHE_HOME\bin\httpd -t

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

Apache HTTP Serverにプラグインをインストールしたら、Oracle WebLogic Server Apacheプラグインの構成と、プラグインを使用するためのサーバーの構成を行います。

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

3.2.1 httpd.confファイルの編集

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

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

2. httpd.confファイルを開きます。
ファイルは、APACHE_HOME/conf/httpd.confにあります。(ここで、APACHE_HOMEは、Apache HTTP Serverインストールのルート・ディレクトリを示します。)3.2項「Apache HTTP Serverプラグインの構成」のサンプルhttpd.confファイルを参照してください。

3. WebLogic ServerモジュールがApache 2.2.xに含まれていることを確認します。まだ含まれていない場合は、httpd.confファイルに次の行を追加します。Windowsの場合は、DLLファイルを指定します。

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

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

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

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

例:

<IfModule mod_weblogic.c>
WebLogicHost myweblogic.example.com
WebLogicPort 7001
Debug ALL
DebugConfigInfo ON
WLLogFile /tmp/wl-proxy.log
</IfModule>

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

<IfModule mod_weblogic.c>
WebLogicHost my-weblogic.server.com
WebLogicPort 7001
MatchExpression *.jsp
Debug ALL
DebugConfigInfo ON
WLLogFile /tmp/wl-proxy.log
</IfModule>

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

<IfModule mod_weblogic.c>
WebLogicHost my-weblogic.server.com
WebLogicPort 7001
MatchExpression *.jsp
MatchExpression *.xyz
Debug ALL
DebugConfigInfo ON
WLLogFile /tmp/wl-proxy.log
</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>

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

<Location /weblogic>
SetHandler weblogic-handler
PathTrim /weblogic
</Location>

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

7. PathTrimパラメータ(8.3項「Webサーバー・プラグインのSSLパラメータ」を参照)は、<Location>タグの内部で構成する必要があります。SSLを使用するためにApacheプラグインを構成する際に、次の既知の問題が発生します。

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

<Location /weblogic>
SetHandler weblogic-handler
</Location>

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

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

<Location /weblogic>
SetHandler weblogic-handler
PathTrim /weblogic
</Location>

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

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

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

<Location /bea_wls_internal/HTTPClnt>
SetHandler weblogic-handler
</Location>

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

<Location /bea_wls_internal/iiop>
SetHandler weblogic-handler
</Location>

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

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

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

10. 次のコマンドで、APACHE_HOME\conf\httpd.confファイルの構文を検証します。

APACHE_HOME/bin/apachectl -t

(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)

このコマンドの出力では、httpd.confファイルのエラーが示されるか、次が返されます。

Syntax OK

Windowsオペレーティング・システムの場合は、次のコマンドを実行します。

APACHE_HOME\bin\httpd -t

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

${APACHE_HOME}/bin/apachectl start

(APACHE_HOMEは、Apache HTTP Serverをインストールしたディレクトリです。)

Windowsオペレーティング・システムの場合は、次のコマンドを実行します。

APACHE_HOME\bin\httpd -k start

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

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

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

<Location /weblogic>
SetHandler weblogic-handler
WebLogicHost myweblogic.server.com
WebLogicPort 7001
</Location>

<Location /weblogic>
SetHandler weblogic-handler
WebLogicCluster w1s1.com:7001,w1s2.com:7001,w1s3.com:7001
</Location>

<VirtualHost apachehost:80>
SetHandler weblogic-handler
WebLogicServer weblogic.server.com
WebLogicPort 7001
</VirtualHost>

3.2.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.2.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)を含める必要があります。

- 環境内に構成されているすべての仮想ホストのログ・ファイルを1つのみにしたい場合は、グローバル・プロパティを使用すれば実現できます。各仮想ホストでDebug、WLLogFileおよびWLTempDirプロパティを指定するかわりに、<IfModule>タグで一度に指定できます。

- httpd.confファイルのサンプル:

<IfModule mod_weblogic.c>
WebLogicCluster johndoe02:8005,johndoe:8006
Debug ON
WLLogFile             c:/tmp/global_proxy.log
WLTempDir             "c:/myTemp"
DebugConfigInfo       On
KeepAliveEnabled ON
KeepAliveSecs  15
</IfModule>

<Location /jurl>
SetHandler weblogic-handler
WebLogicCluster agarwalp01:7001
</Location>

<Location /web>
SetHandler weblogic-handler
PathTrim/web
Debug OFF
WLLogFile c:/tmp/web_log.log
</Location>

<Location /foo>
SetHandler weblogic-handler
PathTrim/foo
Debug ERR
WLLogFile c:/tmp/foo_proxy.log
</Location>

- /jurl/*に一致するすべてのリクエストではDebug LevelがALLに設定され、ログ・メッセージがc:/tmp/global_proxy.logファイルに記録されます。/web/*に一致するすべてのリクエストではDebug LevelがOFFに設定され、ログ・メッセージは記録されなくなります。/foo/*に一致するすべてのリクエストではDebug LevelがERRに設定され、ログ・メッセージはc:/tmp/foo_proxy.logファイルに記録されます。

- <Files>ブロックではなくMatchExpression文を使用することをお薦めします。

3.2.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を指定し、WebLogicClusterホストおよびそのポートを特定しています。パイプ記号の後に続く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.2.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-1.1/lib/mod_wl.so

<Location /weblogic>
SetHandler weblogic-handler
PathTrim /weblogic
ErrorPage http://myerrorpage1.mydomain.com
</Location>

<Location /servletimages>
SetHandler weblogic-handler
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>

4 Oracle HTTP Server用のプラグインの構成

Oracle WebLogic Serverのこのリリースでは、単一のプラグインがApache HTTP ServerおよびOracle HTTP Serverの両方をサポートしています。

プラグインをダウンロードして設定する必要はありません。Oracle HTTP Serverは、mod_wl_ohs.so/dllバイナリに事前にバンドルされています。このプラグインは、一意の名前を付けられていますが、Apacheプラグインと同一です。

次の項では、Oracle HTTP Serverプラグインを構成する方法について説明します。

- 4.1項「Oracle HTTP Serverプラグインの構成」

注意:
このプラグインの構成に関する信頼できる情報ソースは、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』、および特にOracle HTTP Serverにおけるmod_wl_ohsモジュールの構成に関する項です。この情報は簡単に参照できるように、ここでは要約されています。

4.1 Oracle HTTP Server用のプラグインの構成

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

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

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

3. WebLogicクラスタを使用している場合、ロード・バランシングに使用できるWebLogic Serverを「WebLogicクラスタ」フィールドに入力します。サーバーまたはクラスタのリストは、「ホスト:ポート」エントリのリストです。複数のクラスタと単一サーバーの組合せを指定すると、このパラメータに戻される動的リストは、クラスタリングされたサーバーのみを戻します。
モジュールは、すべての利用可能なサーバー間で単純なラウンドロビンを行います。このプロパティで指定するサーバー・リストは、サーバーとモジュールが保持する動的サーバー・リストの起点になります。新しく追加されたり、障害が発生したり、障害から回復したクラスタ・メンバーがあると、WebLogic Serverとプラグインは連携して自動的にサーバー・リストを更新します。

動的クラスタ・リストの使用を無効にするには、動的サーバー・リストのONフィールドを無効にします。モジュールは、Cookie、URLエンコードされたセッション、またはPOSTデータに格納されたセッションを含むHTTPリクエストを、最初にCookieを作成したクラスタ内のサーバーに転送します。

4. 「WebLogicホスト」フィールドには、HTTPリクエストを転送する必要があるWebLogic Serverホスト(またはWebLogic Serverで定義された仮想ホスト名)を入力します。WebLogicクラスタを使用している場合は、「WebLogicホスト」フィールドではなく「WebLogicクラスタ」フィールドを使用します。

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

6. モジュールからプロキシされるロード・バランシング・リクエストに対して動的クラスタ・リストを使用したい場合は、「動的サーバー・リストをオン」チェック・ボックスを選択します。オフに設定すると、モジュールは動的クラスタ・リストを無視し、WebLogicクラスタ・パラメータに指定した静的クラスタ・リストのみを使用します。通常、このパラメータはオンに設定する必要があります。

7. 「エラー・ページ」フィールドを使用して、WebサーバーがリクエストをWebLogic Serverに転送できないときに表示されるユーザー独自のエラー・ページを作成できます。

8. 「デバッグ」フィールドには、デバッグ操作のために実行されるロギングのタイプを入力します。UNIXシステムでは、デバッグ情報は/tmp/wlproxy.logファイルに書き込まれ、Windowsシステムでは、c:\TEMP\wlproxy.logに書き込まれます。ログ・ファイル・パラメータを別のディレクトリとファイルに設定して、この場所とファイル名をオーバーライドします。サーバーにログインするユーザーに対してtmpまたはTEMPディレクトリへの書込み権限が割り当てられていることを確認してください。
デバッグ・パラメータとして、次のいずれかのロギング・オプションを設定できます。また、HFC、HTW、HFWおよびHTCのオプションを組み合わせて、「HFC,HTW」のようにカンマで区切って設定することもできます。

- ON – モジュールは、情報メッセージおよびエラー・メッセージを記録します。

- OFF – デバッグ情報は記録されません。

- HFC – モジュールは、クライアントからのヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HTW – モジュールは、WebLogic Serverに送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HFW – モジュールは、WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- HTC – モジュールは、クライアントに送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

- ERR – モジュールのエラー・メッセージのみを出力します。

- ALL – モジュールは、クライアントに送信されたヘッダー、クライアントから送信されたヘッダー、WebLogic Serverに送信されたヘッダー、WebLogic Serverから送信されたヘッダー、情報メッセージおよびエラー・メッセージを記録します。

9. デバッグ・パラメータがONの場合に作成されるログ・ファイルのパスと名前を「ログ・ファイル」フィールドに指定します。このパラメータを設定する前に、このディレクトリを作成する必要があります。

10. wlproxy.logを作成するディレクトリを「WebLogic一時ディレクトリ」フィールドに指定します。場所が見つからない場合、Windowsではc:/temp、UNIXではすべてのプラットフォームで/tmpの下にログ・ファイルが作成されます。
これによって、POSTデータ・ファイル用の_wl_proxyディレクトリの場所も指定されます。WebLogic一時ディレクトリおよびログ・ファイルの両方を設定した場合、wlproxy.logファイルの場所についてはログ・ファイルの設定が優先します。_wl_proxyディレクトリの場所は、依然としてWebLogic一時ディレクトリによって決まります。

11. 特定のリクエストをプロキシ対象から除外するには、「パスまたはMIMEタイプの除外」フィールドを使用します。このパラメータは、Locationタグ・レベルでローカルに定義することも、グローバルに定義することも可能です。このプロパティをローカルに定義した場合、グローバル・プロパティはオーバーライドされず、2つのパラメータの結合が定義されます。

12. 「一致式」の領域では、式のオーバーライドを指定します。
MIMEタイプによるプロキシの場合の例:

*.jsp WebLogicHost=myHost|paramName=value

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

*.jsp PathPrepend=/test PathTrim=/foo

13. 「ロケーション」の領域では、ロケーションのオーバーライドを指定します。

1. 新しく行を追加するには「行の追加」をクリックします。

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

3. この項ですでに記述した定義を使用して、「WebLogicクラスタ」フィールド、「WebLogicホスト」フィールドおよび「WebLogicポート」フィールドに値を入力します。

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. 新規の行を保存するには「行の追加」を再度クリックします。

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

15. Oracle HTTP Serverを再起動します。

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

注意:
Fusion Middleware Controlを使用しないで、手動でmod_wl_ohsの構成設定を編集する場合、すべてのディレクティブをmod_wl_ohs.confファイルの<IfModule weblogic_module>ブロック内に定義する必要があります。ディレクティブをこのブロック外に定義した場合、mod_wl_ohsは依然として有効ですが、Fusion Middleware Controlにおいて「mod_wl_ohs構成」ページが一貫性のない状態になる可能性があります。

5 Microsoft IISプラグインのインストールと構成

次の項では、Microsoft Internet Information Serverプラグインをインストールして構成する方法を説明します。

- 5.1項「Microsoft Internet Information Serverプラグインのインストールと構成」

- 5.2項「Microsoft Internet Information Server IIs 7.0プラグインのインストールと構成」

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

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

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

- 5.6項「IISからWebLogic Serverへのサーブレットのプロキシ」

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

5.1 Microsoft Internet Information Serverプラグインのインストールと構成

Microsoft Internet Information Serverプラグインをインストールするには:

1. 2.6項「バージョン1.1プラグインのダウンロード」の説明に従って、Microsoft Internet Information Serverプラグインをダウンロードします。

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

3. IISを実行するユーザーの名前を含めるために、iisproxy.dllファイルのユーザー権限を設定します。これを実行する1つの方法として、iisproxy.dllファイルを右クリックし、権限を選択して、IISを実行するユーザーの名前を追加してください。

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

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

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

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

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

3. ツール・バーの再生ボタンをクリックして起動します。

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

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

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

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

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

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

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

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

「図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.3項「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照してください。

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

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

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

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

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

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

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

7. Microsoft Internet Information Serverプラグインがリクエストをプロキシする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は、クラスタ内で動作するWebLogic Serverのインスタンスです。

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

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

10. IISからWebLogic Serverにサーブレットをプロキシする際に、パスによるプロキシを行わない場合は、5.6項「IISからWebLogic Serverへのサーブレットのプロキシ」を参照してください。

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

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

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

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

5.2 Microsoft Internet Information Server IIs 7.0プラグインのインストールと構成

この項では、Microsoft Internet Information Server IIs 7.0プラグインの設定方法の差異について説明します。

Microsoft Internet Information Server IIs 7.0プラグインを設定するには、次の手順に従います。

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

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

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

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

「図5-5 アプリケーション・ホームページ」の説明

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

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

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

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

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

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

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

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

「図5-8 スクリプトのリクエスト・パスの編集」の説明

5. 「リクエストの制限」ボタンをクリックし、「リクエストが指定した項目にマップされている場合のみハンドラを呼び出す」ボックスの選択を解除してください。

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

「図5-9 リクエストの制限の編集」の説明

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

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

「図5-10 スクリプト・マップの追加」の説明

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

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

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

「図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>を入力します。Weblogic ServerでMedrecサンプル・アプリケーションが表示されます。
SSLモードでプラグインを実行する場合、WeblogicPortの値をアプリケーションのSSLポートに変更し、SecureProxyの値をONに変更します。

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

「図5-12 Medrecサンプル・アプリケーション」の説明

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

「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.0用の「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.3.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.3.2 IIS 7.0用のワイルドカード・スクリプト・マップの追加

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

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

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」を参照してください。

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

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

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

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

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

4. 2.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つのアプリケーション・プールにルーティングされるときに別のアプリケーション・プールのアプリケーションがそのアプリケーションに影響を及ぼさないようにします。

5.4.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.5 IISを経由するACLの作成

ACLは、IISからAuthorizationヘッダーが渡されない場合はMicrosoft Internet Information Serverプラグインでは機能しません。以下の情報を参考にして、AuthorizationヘッダーがIISによって渡されることを確認してください。

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

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

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

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

5.6 IISからWebLogic Serverへのサーブレットのプロキシ

iisforward.dllがフィルタとして登録されている場合は、サーブレットをパスによってプロキシできます。その場合は、次のようなURLでサーブレットを呼び出します。

http://IISserver/weblogic/myServlet

iisforward.dllがフィルタとして登録されていない場合にサーブレットをプロキシするには、ファイル・タイプによるサーブレットのプロキシを構成する必要があります。ファイル・タイプによってサーブレットをプロキシするには:

1. WebLogic ServerにリクエストをプロキシできるようにIISに任意のファイル・タイプ(拡張子)を登録します。詳細は、5.1項「Microsoft Internet Information Serverプラグインのインストールと構成」のステップ2を参照してください。

2. 適切なWebアプリケーションにサーブレットを登録します。サーブレットの登録の詳細は、「サーブレットの作成と構成」を参照してください。

3. このパターンに従った形式のURLでサーブレットを呼び出します。

http://www.myserver.com/virtualName/anyfile.ext

virtualNameは、このサーブレットのWebアプリケーション・デプロイメント記述子(web.xml)の<servlet-mapping>要素で定義されたURLパターン、extはWebLogic ServerにプロキシするためにIISに登録されたファイル・タイプ(拡張子)です。URLのanyfileの部分は、このコンテキストでは無視されます。

注意:
サーブレットから呼び出される画像リンクがWebアプリケーションの一部である場合は、IISに適切なファイル・タイプ(.gifや.jpgなど)を登録して画像に対するリクエストもWebLogic Serverにプロキシする必要があります。ただし、それらの画像はIISから直接提供されるようにすることもできます。
プロキシ対象のサーブレットに他のサーブレットを呼び出すリンクがある場合は、そのリンクもステップ3のパターンに従ってWebLogic Serverにプロキシする必要があります。

5.7 インストールのテスト

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

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

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

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

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

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

6 Oracle iPlanet Web Serverプラグインのインストールと構成

このリリースでは、Oracle iPlanet Web Serverプラグインをインストールおよび構成する方法について説明します。

WebLogic Serverの以前のリリースでは、このプラグインはNetscape Enterprise Serverプラグインと呼ばれていました。

この項では、Oracle iPlanet Web Serverプラグインをインストールおよび構成する方法について説明します。

- 6.1項「Oracle iPlanet Web Serverプラグインの概要」

- 6.2項「Oracle iPlanet Web Serverプラグインのインストールと構成」

6.1 Oracle iPlanet Web Serverプラグインの概要

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

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

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

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

6.2 Oracle iPlanet Web Serverプラグインのインストールと構成

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

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

Oracle iPlanet Web Serverプラグインをインストールする前に、次の前提条件を満たす必要があります。

- 2.6項「バージョン1.1プラグインのダウンロード」の説明に従って、Oracle iPlanet Web Serverプラグインをダウンロードします。

- プラグインZip配布ファイルをWeb Serverのインストール・ディレクトリ(install-dir)に展開します。プラグインZip配布ファイルを展開する前に、install-dirディレクトリ内の既存のREADME.txtの名前を変更します。

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

- サポートされているOracle iPlanet Web Serverインストールが存在します。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlに記載されているOracle iPlanet Web Serverプラットフォームでバージョン1.1プラグインがサポートされています。

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

6.2.2 Oracle iPlanet Web Serverプラグインのインストール

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

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

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

これらの行による指示で、Oracle iPlanet Web Serverは、ネイティブ・ライブラリ(mod_wl.soファイル(Unix)またはmod_wl.dllファイル(Windows))をモジュールとしてロードします。magnus.confファイルはINSTANCE-DIR/configディレクトリに格納されています。ここで、INSTANCE-DIRはWebサーバーのインスタンス・ディレクトリです。詳細については、以下を参照:

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

6.2.3 Oracle iPlanet Web Serverプラグインの構成

この項では、Oracle iPlanet Web Serverプラグインを構成する方法について説明します。

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ファイルを構成する方法には何種類かあります。

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

- リクエストを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などの必須でないパラメータを使用すると、Oracle iPlanet Web Serverプラグインを介してppathを渡す方法を、より詳細に構成できます。プラグイン・パラメータの詳細なリストは、8.2項「Webサーバー・プラグインの一般的なパラメータ」を参照してください。

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

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

type=text/jsp        exts=jsp

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

iPlanet管理コンソールでmime.typesファイルを編集する場合は、次を参照してください。

http://download.oracle.com/docs/cd/E19146-01/821-1828/gdabr/index.html

指定した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アプリケーションのコンテキスト・ルートと一致する必要があります。

Oracle iPlanet Web Serverプラグインのエントリを追加した後、デフォルトの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によるプロキシが正しく機能するには、Oracle iPlanet Web Serverからの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>

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

1. WebLogic Serverを起動します。

2. Oracle iPlanet Web Serverを起動します。Oracle iPlanet Web Serverがすでに稼働中の場合は、サーバーを再起動または再構成する必要があります。

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

http://webserver_host:webserver_port/weblogic/

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

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

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

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

6.2.5 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---------------------

6.2.6 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--------------------

7 共通タスクの実行

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

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

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

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

- 7.4項「WebLogic ServerにおけるWebLogicプラグイン有効化制御の設定」

- 7.5項「接続エラーとクラスタリング・フェイルオーバーについて」

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

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

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

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

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

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

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

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

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

注意:
Apache(Oracle HTTPを含む)と同じシステムにOracle Fusion Middleware 11g リリース11 (11.1.1)製品がインストールされている場合、ORACLE_HOMEの変数が有効なインストールをポイントしている必要があり、そうでない場合プラグインはSSLの初期化に失敗します。
たとえば、製品がきちんと削除されなかったためにORACLE_HOMEが無効になっている場合、プラグインはSSLの初期化に失敗します。

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

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

7.1.1.1 Apache HTTP Serverで使用するSSLライブラリの構成

Apacheプラグインのライブラリ(Apache HTTP ServerとOracle HTTP Serverの両方に使用される)を構成するには、いくつかのオプションがあります。

1. Windowsの場合は、lib\*.dllディレクトリがPATH変数に存在する必要があります。または、*.dllファイルをApache/binディレクトリに追加します。

2. Unixの場合は、バイナリをApacheのlibフォルダにコピーするか、またはバイナリを含むフォルダを指定するLD_LIBRARY_PATHを構成します。
ライブラリをApache HTTP Serverディレクトリにコピーする場合、PATH (Windows)またはLD_LIBRARY_PATH (Unix)を更新するかわりに、新しいレベルのOracle WebLogic Serverプラグインをインストールする度にライブラリを再コピーする必要があります。

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

各プラグインに関する章で記載されているとおりにプラグインをインストールした後、そのプラグインを構成して一方向SSLを使用できます。

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

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

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

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

2. SSL用WebLogic Serverリスニング・ポートを構成します。詳細は、『Oracle WebLogic Serverの保護』のSSLの構成に関する項を参照してください。

3. orapkiユーティリティを使用してOracleウォレットを作成します。
このツールの情報は、『Oracle Fusion Middleware管理者ガイド』の証明書の検証およびCRL管理用orapkiユーティリティの使用に関する項を参照してください。

注意:
ウォレットの作成ユーザー(またはWindowsの場合はSYSTEMアカウント)のみがウォレットへのアクセス権を持ちます。
通常、WindowsではSYSTEMアカウント、UNIXではウォレットの作成ユーザーとしてApacheが実行されるため、Apacheプラグインではこれで十分です。ただし、IISの場合、デフォルト・ユーザーがIUSR_<Machine_Name>(IIS6.0以下)またはIUSR (IIS7.0)であるため、ウォレットは機能しません。

ApacheプラグインまたはIISプラグインを実行するユーザーがウォレットの作成ユーザー(またはWindowsの場合はSYSTEMアカウント)と同一ではない場合、ウォレットの作成後にcacls (Windows)またはchmod (UNIX)コマンドを実行して、ウォレットへのユーザー・アクセス権限を付与する必要があります。例:

IIS6.0以下:

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

IIS7.0:

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

orapki wallet create -wallet mywallet -auto_login_only

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

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

5. Apacheプラグインの場合、HTTPサーバーでhttpd.confファイルを次のように編集します。

<IfModule mod_weblogic.c>
WebLogicHost my-weblogic.server.com
WebLogicPort weblogic-server-secure-port
SecureProxy ON
WLSSLWallet /home/myhome/mywallet
</IfModule>

説明:

- my-weblogic-server.comはWebLogic Serverシステムです。

- weblogic-server-secure-portは、SSL(通常は7002)に対して使用するポートです。

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

- WLSSLWalletには、引数としてOracleウォレットのパスを入力します。

6. IISプラグインの場合、Microsoft Internet Information Serverのiisproxy.iniファイルを次のように編集します。

WebLogicHost=my-weblogic.server.com
WebLogicPort=weblogic-server-secure-port
SecureProxy=ON
WLSSLWallet=c:\home\myhome\mywallet

説明:

- my-weblogic-server.comはWebLogic Serverシステムです。

- weblogic-server-secure-portは、SSL(通常は7002)に対して使用するポートです。

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

- WLSSLWalletには、引数としてOracleウォレットのパスを入力します。

7. Apacheプラグインの場合、SSL接続に関する情報を定義するhttpd.confファイルに追加パラメータを設定します。プラグインに対して構成できるSSLパラメータの完全なリストについては、8.3項「Webサーバー・プラグインのSSLパラメータ」を参照してください。

8. IISプラグインの場合、SSL接続に関する情報を定義するiisproxy.iniファイルに追加パラメータを設定します。プラグインに対して構成できるSSLパラメータの完全なリストについては、8.3項「Webサーバー・プラグインのSSLパラメータ」を参照してください。

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

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

各プラグインに関する章に記載されているとおりにプラグインをインストールした後、そのプラグインを構成して双方向SSLを使用できます。

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

SSLを構成するために7.1.2項「一方向SSL用プラグインの構成」に記載されている手順に加え、プラグインとWebLogic Serverの間の双方向SSLを構成するために、次の追加手順を実行します。

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

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

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

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

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

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

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

バージョン1.1プラグインは、IPv6をサポートしています。具体的には、WebLogicHostおよびWebLogicClusterの構成パラメータ(表8-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ファイルでDynamicServerListプロパティをOFFに設定すると、IPv6に関するパフォーマンスを向上できることがわかります。OFFに設定すると、プラグインは、プラグインからプロキシされたリクエストのロード・バランシングに使用される動的クラスタ・リストを無視し、WebLogicClusterパラメータで指定された静的リストを使用します。

7.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を構成するために行う必要がある手順は、7.1項「プラグインにおけるSSLの使用」を参照してください。

『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のIDアサーション・プロバイダに関する項を参照してください。

7.4 WebLogic ServerにおけるWebLogicプラグイン有効化制御の設定

WebLogic ServerでWebLogicプラグインの有効化制御を設定します。

WebLogicプラグインの有効化制御は、WebLogic Serverが独自のWL-Proxy-Client-IPヘッダーを使用するかどうかを指定します。これは、サーバー・インスタンスがプロキシ・プラグインからリクエストを受信する場合にお薦めします。

7.5 接続エラーとクラスタリング・フェイルオーバーについて

プラグインは、WebLogic Serverに接続しようとする際に、様々な構成パラメータを使用してWebLogic Serverホストへの接続の待機時間と、接続確立後のレスポンスの待機時間を決定します。接続できないか、またはレスポンスがない場合、プラグインはクラスタ内の別のWebLogic Serverインスタンスに接続してリクエストを送信しようとします。接続が失敗するか、またはクラスタ内のいずれのWebLogic Serverからもレスポンスがない場合は、エラー・メッセージが送信されます。

図7-1は、プラグインがどのようにフェイルオーバーを処理するのかを示しています。

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

WebLogic Serverホストが接続リクエストに対するレスポンスに失敗した場合、次の問題が考えられます。

- ホスト・マシンの物理的な問題

- ネットワークの問題

- その他のサーバーの障害

すべてのWebLogic Serverインスタンスがレスポンスしない場合、次の問題が考えられます。

- WebLogic Serverが実行中でないか、使用不可になっている

- サーバーのハング

- データベースの問題

- アプリケーション固有の障害

7.5.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

7.5.3 クラスタリングされていない単一のWebLogic Serverでのフェイルオーバー

WebLogic Serverインスタンスが1つだけ動作している場合、プラグインはWebLogicHostパラメータで定義されているサーバーに接続しようとします。その試行が失敗すると、HTTP 503エラー・メッセージが戻されます。プラグインは、ConnectTimeoutSecsとConnectRetrySecsの比によって規定される最大再試行回数に従って、WebLogic Serverへの接続を試行します。

7.5.4 動的サーバー・リスト

クラスタリングされていない管理対象サーバー・インスタンスのロード・バランシング、またはクラスタされたバックエンド・サーバーのリストのプロキシを実行するためにWebLogicClusterパラメータが必要です。

クラスタリングされた管理対象サーバーにプロキシする場合、httpd.confまたはweblogic.confファイルでWebLogicClusterパラメータを使用してWebLogic Serverのリストを指定すると、プラグインはクラスタ・メンバー間でのロード・バランシングの起点としてそのリストを使用します。最初のリクエストがそれらのサーバーの1つに転送された後に、クラスタ内のサーバーの更新されたリストを格納する動的サーバー・リストが戻されます。更新されたリストでは、クラスタ内の新しいサーバーが追加され、クラスタを離脱したサーバーやリクエストに応答できなかったサーバーは削除されます。このリストは、クラスタ内で変化が発生したときにHTTPレスポンスによって自動的に更新されます。

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

リクエストが、CookieやPOSTデータに格納されているかURLにエンコードされたセッション情報を含む場合、そのセッションIDには、セッションが最初に確立された特定のサーバー・インスタンス(プライマリ・サーバーと呼びます)への参照が含まれています。Cookieを含むリクエストは、プライマリ・サーバーに接続しようとします。その試行が失敗すると、プラグインはラウンドロビン方式でリストの次の使用可能なサーバーに接続しようとします。そのサーバーは元のセカンダリ・サーバーからセッションを取得し、その同じセッションのプライマリ・サーバーになります。図7-1を参照してください。

注意:
POSTデータが64Kを超える場合、プラグインは、セッションIDを取得するためのPOSTデータの解析を行いません。したがって、セッションIDをPOSTデータに格納した場合、プラグインはリクエストを正しいプライマリまたはセカンダリ・サーバーにルーティングできないので、セッション・データが失われるおそれがあります。

図7-1 接続のフェイルオーバー

「図7-1 接続フェイルオーバー」の説明

この図において、赤いループで許容される最大再試行回数は、ConnectTimeoutSecs/ConnectRetrySecsの値に相当します。

7.5.6 Oracle iPlanet Web ServerプラグインでのSSLの使用

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

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

Oracle iPlanet Web ServerプラグインとWebLogic Serverの間でSSLプロトコルを使用するには、次の手順を行います。

1. SSL用WebLogic Serverを構成します。詳細は、「SSLの構成」を参照してください。

2. SSL用WebLogic Serverリスニング・ポートを構成します。詳細は、「SSLの構成」を参照してください。

3. obj.confファイルのServiceディレクティブのWebLogicPortパラメータを、ステップ2で構成したリスニング・ポートに設定します。

4. obj.confファイルのServiceディレクティブのSecureProxyパラメータをONに設定します。

5. obj.confファイルのServiceディレクティブに、SSL接続の情報を定義する追加パラメータを設定します。パラメータの完全なリストは、8-15ページの「Webサーバー・プラグインのSSLパラメータ」を参照してください。

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

ほとんどの構成では、Oracle iPlanet Web Serverプラグインはリクエストをクラスタのプライマリ・インスタンスに送信します。そのインスタンスが使用できない場合、リクエストはセカンダリ・インスタンスにフェイルオーバーされます。ただし、ファイアウォールとロード・ディレクタを組み合わせて使用する一部の構成では、WebLogic Serverのプライマリ・インスタンスが使用できない場合でも、いずれか1つのサーバー(ファイアウォールまたはロード・ディレクタ)がリクエストを受け入れて、正常な接続を戻すことができます。WebLogic Serverの使用できないプライマリ・インスタンスへのリクエストの送信が試行された後、リクエストは「接続リセット」としてプラグインに戻されます。

ファイアウォールの組合せを介して実行するリクエストは、(ロード・ディレクタの有無に関係なく)WebLogic Serverによって処理されます。つまり、接続リセットのレスポンスは、WebLogic Serverのセカンダリ・インスタンスにフェイルオーバーします。これらの構成では接続リセットのレスポンスがフェイルオーバーするため、サーブレットは多重呼出し不変であることが必要です。そうでない場合、トランザクションの重複処理が発生する可能性があります。

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

次の項では、Apache、Microsoft IISおよびOracle iPlanet Webサーバー・プラグインを構成するために使用するパラメータを説明します。

- 8.1項「Webサーバー・プラグインの構成ファイルでのパラメータの入力」

- 8.2項「Webサーバー・プラグインの一般的なパラメータ」

- 8.3項「Webサーバー・プラグインのSSLパラメータ」

8.1 Webサーバー・プラグインの構成ファイルでのパラメータの入力

個々のWebサーバー・プラグインに対するパラメータは、特別な構成ファイルに入力します。この構成ファイルは各Webサーバーで異なる名前を持ち、ファイルの形式について異なる規則があります。詳細については、各プラグインに関する次の項を参照してください。

- 第3章「Apache HTTP Serverプラグインのインストールと構成」

- 第5章「Microsoft IISプラグインのインストールと構成」

- 第6章「Oracle iPlanet Web Serverプラグインのインストールと構成」

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

Webサーバー・プラグインの一般的なパラメータを表8-1に示します。パラメータでは大文字/小文字が区別されます。Apache HTTP Serverの適用場所に関係なく、Oracle HTTP Serverもサポートされます。

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

パラメータ名

デフォルト

説明

適用対象

WebLogicHost (単一のWebLogic Serverにプロキシする場合は必須。)

なし

HTTPリクエストを転送する必要があるWebLogic Serverホスト(またはWebLogic Serverで定義されたものと同じ仮想ホスト名)を示します。WebLogicクラスタを使用している場合、WebLogicHostのかわりにWebLogicClusterパラメータを使用します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WebLogicPort (単一のWebLogic Serverにプロキシする場合は必須。)

なし

プラグイン(または他のサーバー)からの接続リクエストのWebLogic Serverホスト上のリスニング・ポートを示します。(プラグインおよびWebLogic Serverの間にSSLを使用している場合、このパラメータにSSLのリスニング・ポートを設定し(「SSLの構成」を参照)、SecureProxyパラメータをONに設定します。)

WebLogicクラスタを使用している場合は、WebLogicPortのかわりにWebLogicClusterパラメータを使用します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WebLogicCluster

(WebLogic Serverのクラスタまたは複数のクラスタリングされていないサーバーにプロキシする場合は必須。)

なし

クラスタリングされたバックエンド・サーバーのリストをプロキシするため、またはクラスタリングされていない管理対象サーバーのインスタンス間のロード・バランシングを行うために、WebLogicClusterパラメータは必須です。

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

パラメータの指定方法と必要な形式はプラグインによって異なります。次に含まれる例を参照してください。

- 第5章「Microsoft IISプラグインのインストールと構成」

- 第3章「Apache HTTP Serverプラグインのインストールと構成」

プラグインとWebLogic Serverの間にSSLを使用している場合は、ポート番号をSSLリスニング・ポートに設定して(「SSLの構成」を参照)、SecureProxyパラメータをONに設定します。

プラグインは、使用可能なサーバー間で単純なラウンド・ロビンを行います。このプロパティで指定するサーバー・リストは、サーバーおよびプラグインが保持する動的サーバー・リストの起点です。新しく追加されたり、障害が発生したり、障害から回復したクラスタ・メンバーがあると、WebLogic Serverとプラグインは連携して自動的にサーバー・リストを更新します。

動的クラスタ・リストを無効化するには、DynamicServerListパラメータをOFFに設定します。

プラグインは、Cookieの含まれているHTTPリクエスト、URLエンコーディングされたセッションの含まれているHTTPリクエスト、またはPOSTデータに格納されているセッションの含まれているHTTPリクエストをそのCookieを元々作成したクラスタ内のサーバーに転送します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

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を組み合わせて使用すると、このパスを変更できます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

PathPrepend

null

RFC仕様に従ったURLの一般的な構文は次のとおりです。

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

PathPrependには、PathTrimの値が取り除かれた後、リクエストがWebLogic Serverに転送される前に、プラグインによって元のURLの{PATH}の部分の先頭に付加されるパスを指定します。

ファイル名を追加する必要がある場合は、PathPrependではなく、DefaultFileNameプラグイン・パラメータを使用する点に注意してください。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

ConnectTimeoutSecs

10

プラグインがWebLogic Serverホストへの接続を試行する最大時間(秒)。この値はConnectRetrySecsより大きくします。接続できないまま、何回か再試行(ConnectRetrySecsの項を参照)しても成功しないままConnectTimeoutSecsの期限が切れた場合、「HTTP 503/Service Unavailable」のレスポンスがクライアントに送られます。

エラー・レスポンスはErrorPageパラメータを使用してカスタマイズできます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

ConnectRetrySecs

2

WebLogic Serverホスト(またはクラスタ内のすべてのサーバー)への接続試行の間にプラグインがスリープする間隔(秒)。この値はConnectTimeoutSecsより小さくします。「HTTP 503/Service Unavailable」のレスポンスをクライアントに戻す前にプラグインが接続を試行する回数は、ConnectTimeoutSecsをConnectRetrySecsで除算することで算出されます。

再試行しないようにするには、ConnectRetrySecsをConnectTimeoutSecsと同じ値に設定します。ただし、プラグインは最低2回接続を試みます。

エラー・レスポンスはErrorPageパラメータを使用してカスタマイズできます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

Debug

OFF

デバッグ操作用に実行されるロギングのタイプを設定します。UNIXシステムの場合、デバッグ情報は/tmp/wlproxy.logファイルに書き込まれ、Windows NT/2000システムの場合は、c:\TEMP\wlproxy.logに書き込まれます。

WLLogFileパラメータを別のディレクトリとファイルに設定して、この場所とファイル名をオーバーライドします。(この場所を変更する他の方法については、「WLTempDir」パラメータを参照してください。)

サーバーにログインするユーザーに対してtmpまたは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、Oracle iPlanet Web ServerおよびApache HTTP Server

WLLogFile

Debugパラメータを参照

DebugパラメータがONに設定されている場合に生成されるログ・ファイルのパスとファイル名を指定します。このディレクトリはこのパラメータの設定前に作成する必要があります。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLDNSRefreshInterval

0 (起動時に1回のみルックアップ)

プロキシ構成で定義する場合、WebLogic ServerがサーバーのDNS名からIPへのマッピングをリフレッシュする間隔を秒単位で指定します。WebLogic Serverインスタンスを別のIPアドレスに移行する場合に使用できますが、そのサーバーのIPのDNS名は変更されません。この場合、指定したリフレッシュ間隔でDNS<->IPのマッピングが更新されます。

Oracle iPlanet Web ServerおよびApache HTTP Server

WLTempDir

Debugパラメータを参照

wlproxy.logを作成するディレクトリを指定します。場所が見つからない場合、Windowsの場合はC:/tempに、Unixの場合はすべてのプラットフォームで/tmpにログ・ファイルが作成されます。

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

WLTempDirおよびWLLogFileの両方を設定した場合、wlproxy.logの場所についてはWLLogFileが優先します。_wl_proxyディレクトリの場所は、依然としてWLTempDirによって決まります。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

DebugConfigInfo

OFF

特殊な問合せパラメータ「__WebLogicBridgeConfig」を有効にします。このパラメータは、プラグインから構成パラメータに関する詳細を取得するために使用します。

たとえば、DebugConfigInfoを設定して「__WebLogicBridgeConfig」を有効にし、問合せ文字列「?__WebLogicBridgeConfig」を含むリクエストを送信すると、構成情報と実行時統計が収集され、その情報がブラウザに戻されます。この場合、プラグインはWebLogic Serverに接続しません。

このパラメータはデバッグにのみ使用するもので、出力メッセージの形式はリリースによって異なります。セキュリティのため、本番システムではこのパラメータをOFFにしてください。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

ErrorPage

なし

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

バックエンド・サーバーから「HTTP 503/Service Unavailable」レスポンスが返され、フェイルオーバー用のサーバーがない場合、プラグインによってエラー・ページにリダイレクトされます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLSocketTimeoutSecs

2 (0より大きな値)

接続中のソケットのタイムアウトを秒単位で設定します。なお、詳細は「ConnectTimeoutSecs」および「ConnectRetrySecs」を参照してください。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLIOTimeoutSecs (HungServerRecoverSecsの新しい名称)

300

WebLogic Serverからのリクエストへのレスポンスに対するプラグインの待機時間を定義します。プラグインは、サーバーがレスポンスするまでWLIOTimeoutSecsで指定した秒数だけ待機してから、サーバーのレスポンスなしを宣言して、次のサーバーにフェイルオーバーします。この値は、大きな値にしておく必要があります。サーブレットの処理時間より短くした場合は、予期しない結果が発生する場合があります。

最小値: 10

最大値: 制限なし

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

冪等

ON

「ON」に設定されている状態で、サーバーが「WLIOTimeoutSecs」の時間内に応答しないと、メソッドが冪等の場合にプラグインはフェイルオーバーします。

Idempotentを「ON」に設定している場合も、プラグインはフェイルオーバーされ、サーバーがREAD_ERROR_FROM_SERVERなどのエラーを戻します。

「OFF」に設定した場合、プラグインはフェイルオーバーしません。Apache HTTP Serverを使用している場合は、複数のURLまたはMIMEタイプに対してこのパラメータを別々に設定できます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLCookieName

CookieNameパラメータは非推奨

JSESSIONID

WebLogic Server WebアプリケーションのWebLogic ServerセッションCookie名を変更する場合、プラグインの「WLCookieName」パラメータを同じ値に変更する必要があります。WebLogicセッションCookie名は、WebLogic固有のデプロイメント記述子の<session-descriptor>要素で設定されます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

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ブロックでこのパラメータを定義します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

MaxPostSize

-1

POSTデータの最大許容サイズ(バイト単位)。コンテキスト長がMaxPostSizeを超えた場合、プラグインによってエラー・メッセージが戻されます。-1に設定した場合、POSTデータのサイズはチェックされません。これは、POSTデータを使用してサーバーを過負荷状態にしようとするサービス拒否攻撃を防ぐために役立ちます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

MatchExpression (Apache HTTP Serverのみ)

なし

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

Apache HTTP Server

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の設定に関係なくプラグインがデータをメモリーに読み込み、フェイルオーバー時にセカンダリへの複写が必要であればこれを使用します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLExcludePathOrMimeType

なし

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

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

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

KeepAliveSecs

20

プラグインとWebLogic Serverの間のアクティブではない接続が閉じられるまでの時間。このパラメータを有効にするには、KeepAliveEnabledをtrue (Apache HTTP Serverを使用している場合はON)に設定する必要があります。

このパラメータの値は、管理コンソールのサーバー/HTTPタブで設定される期間フィールドの値、またはKeepAliveSecs属性を使用してサーバーMBeanで設定される値以下である必要があります。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

KeepAliveEnabled

true (Microsoft IISプラグイン)

ON (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です。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

QueryFromRequest

(Apache HTTP Serverのみ)

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 iPlanet Web ServerおよびApache HTTP Server

MaxSkipTime

10

WebLogicClusterパラメータまたはWebLogic Serverから戻される動的クラスタ・リストにあるWebLogic Serverで障害が発生した場合、その障害の発生したサーバーは「bad」とマークされ、プラグインはリスト内の次のサーバーに接続しようとします。

MaxSkipTimeには、プラグインが「bad」とマークされたサーバーへの接続を再試行するまでの時間を設定します。プラグインは、固有のリクエスト(Cookieのないリクエスト)を受信するたびにリスト内の新しいサーバーに接続しようとします。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

DynamicServerList

ON

OFFに設定すると、プラグインからプロキシされるリクエストをロード・バランシングするために使用される動的クラスタ・リストが無視され、WebLogicClusterパラメータで指定された静的リストのみが使用されます。通常、このパラメータはONのままにします。

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

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

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

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLProxySSL

OFF

次の条件に一致する場合、プラグインとWebLogic Server間のSSL通信を維持する場合は、このパラメータをONに設定します。

- HTTPクライアント・リクエストがHTTPSプロトコルを指定しています。

- リクエストが1つまたは複数のプロキシ・サーバー(WebLogic Serverプロキシ・プラグインを含む)を経由して渡されました。

- プラグインとWebLogic Server間の接続でHTTPプロトコルを使用しています。

WLProxySSLをONに設定すると、WebLogic Serverからクライアントに戻されるロケーション・ヘッダーではHTTPSプロトコルが指定されます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLProxyPassThrough

OFF

プロキシ・プラグインまたはHttpClusterServletが一部の他のプロキシまたはロード・バランサで稼働中の連鎖プロキシ設定がある場合、WLProxyPassThroughパラメータを明示的に有効化する必要があります。このパラメータによって、ヘッダーはプロキシの連鎖に渡されるようになります。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLLocalIP

なし

プラグインがマルチホーム・マシンで動作しているWebLogic Serverインスタンスに接続する場合のバインド先の(プラグインのシステム上の) IPアドレスを定義します。

WLLocalIPが設定されていない場合、TCP/IPスタックによってソースIPアドレスが選択されます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLSendHdrSeparately

ON

このパラメータをONに設定すると、ヘッダーおよびレスポンスの本文が別々のパケットで送信されます。

注意: ヘッダーとレスポンスの本文を2つのコールで送信する必要がある場合、たとえば、他のISAPIフィルタまたは本文の前にヘッダーがあることを期待するクライアントを持つ場合、このパラメータをONに設定します。

Microsoft IIS

WLFlushChunks

False

デフォルトでは、チャンクの受信時にチャンクをストリーミングするかわりに、チャンク化された転送エンコード・レスポンスはIISプラグインによってバッファリングされます。WLFlushChunksフラグがtrueに設定されている場合は、WebLogic 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 (デフォルト)に設定します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLServerInitiatedFailover

On

Oracle WebLogic Serverからの503エラー・レスポンスが別のサーバーへのフェイルオーバーをトリガーするかどうかを制御します。通常、503エラー・レスポンスの受信時には、プラグインによって別のサーバーへのフェイルオーバーが試行されます。WLServerInitiatedFailoverをOFFに設定すると、503エラー・レスポンスはただちにクライアントに返されます。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLForwardUriUnparsed

OFF

ONに設定すると、WLSプラグインによって元のURIはクライアントからWebLogic Serverに転送されます。OFF (デフォルト)に設定すると、WebLogic Serverに送信されるURIは、mod_rewriteによる変更または他のWebサーバー・プラグイン・モジュールの影響を受けることになります。

Apache HTTP Server

WLSRequest

OFF

Oracle WebLogic Serverに転送されるリクエストの認識に使用されるSetHandler weblogic-handlerメカニズムの代替となるメカニズムです。たとえば:

<Location /weblogic>
WLSRequest ON
PathTrim /weblogic
</Location>

SetHandler weblogic-handlerを使用するかわりにWLSRequestをONに設定すると、次の利点があります。

- 一般的なWebサーバー処理オーバーヘッドの低減

- WebサーバーのDocumentRootが処理の遅いファイルシステム上にある場合に起こる著しいパフォーマンスの低下を解決

- ファイルシステムの長さ制限によりマッピングできないURIに対する403エラーを解決

Apache HTTP Server

8.2.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に対して別の場所を指定します。

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

注意:
SCG証明書は、WebLogic Serverプロキシ・プラグインで使用できません。SCG以外の証明書は適切に機能し、その場合はWebLogic Serverとプラグインの間でSSL通信を行えます。
キーストア関連の初期化パラメータは、WebLogic Serverプロキシ・プラグインで使用できません。

Webサーバー・プラグインのSSLパラメータを表8-2に示します。パラメータでは大文字/小文字が区別されます。

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

パラメータ

デフォルト

説明

適用対象

SecureProxy

OFF

このパラメータをONに設定すると、プラグインとWebLogic Server間のすべての通信でSSLプロトコルの使用が有効になります。このパラメータを定義する前に、対応するWebLogic ServerのポートをSSLプロトコル用に構成しておく必要があります。

このパラメータは、メイン・サーバー用の構成と仮想ホスト用の構成(仮想ホストが定義されている場合)の2つのレベルで設定できます。仮想ホスト用の構成でこの設定がオーバーライドされない場合、仮想ホスト用の構成はメイン・サーバー用の構成からSSLの構成を継承します。

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

WLSSLWallet

なし

WLSSLWalletは、WebLogic Server SSLの構成方法に基づいて一方向SSLまたは双方向SSLを実行します。

引数としてOracleウォレット(SSOウォレット・ファイルを含む)のパスが必要です。

例: WLSSLWallet "ORACLE_INSTANCE}/config/COMPONENT_TYPE/COMPONENT_NAME/default"

Microsoft IIS、Oracle iPlanet Web ServerおよびApache HTTP Server

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