![]() |
![]() |
|
|
| |
以下の節では、WebLogic Server のクラスタに HTTP リクエストをプロキシする方法について説明します。
概要
WebLogic Server に付属する HttpClusterServlet
は、HTTP サーバとして機能する WebLogic Server からのリクエストを、WebLogic Server クラスタ内のサーバ インスタンスにプロキシします。HttpClusterServlet
は、プロキシされる HTTP リクエストに対するロード バランシングとフェイルオーバを提供します。サーブレットとクラスタの詳細については、「HTTP セッション ステートのレプリケーションについて」を参照してください。
クラスタではなく単一のサーバ インスタンスにリクエストをプロキシするには、HttpProxyServlet
を使用します。詳細については、
別の HTTP サーバへのリクエストのプロキシを参照してください。
HttpClusterServlet の新しいバージョン
WebLogic Server 6.1 SP02 には、HttpClusterServlet
の新しいバージョンが付属しています。古いバージョンもまだ使用できますが、非推奨となっており将来のリリースからは削除される予定です。旧バージョンと新バージョンの相違点については、このマニュアルで説明します。
WebLogic Server 6.1 SP02 の HttpClusterServlet
は、以下の機能を備えています。
weblogic.servlet.proxy.HttpClusterServlet
HttpClusterServlet の設定
HTTP クラスタ サーブレットを使用するには、次の手順に従って、プロキシ サーバ マシン上でデフォルト Web アプリケーションとしてそのサーブレットをコンフィグレーションします。Web アプリケーションの基本については、『Web アプリケーションのアセンブルとコンフィグレーション』の「Web アプリケーションの概要」を参照してください。
web.xml
デプロイメント記述子ファイルを作成します。任意のテキスト エディタを使用します。
デプロイメント記述子のサンプルには、プロキシ サーブレットの新しいバージョンと非推奨になったバージョンのそれぞれに対応するデプロイメント記述子のサンプルを掲載しています。web.xml
ファイルの記述方法の詳細については、『Web アプリケーションのアセンブルとコンフィグレーション』の「Web アプリケーションのデプロイメント記述子の記述」を参照してください。
web.xml
の<servlet>
要素で、サーブレットの名前とクラスを定義します。サーブレットのバージョンが新旧どちらの場合でも、サーブレット名は HttpClusterServlet
です。
新しいサーブレットのクラスは weblogic.servlet.proxy.HttpClusterServlet
です。非推奨のサーブレットのクラスは weblogic.servlet.internal.HttpClusterServlet
です。
web.xml
の <servlet>
要素で、プロキシ サーブレットによるリクエスト転送先のクラスタ内のサーバ インスタンスを定義します。
HttpClusterServlet
の新しいバージョンを使用する場合は、WebLogicCluster
パラメータを定義します。
HttpClusterServlet
の非推奨バージョンを使用する場合は、serverlist
パラメータを定義します。
<servlet-mapping
>
要素を作成して、プロキシ サーブレットがクラスタに転送するリクエストを指定します。特定のファイル拡張子(*.jsp
や *.html
など)を指定するには、<url-pattern>
要素を使用します。各パターンは個別の <servlet-mapping>
要素内で定義します。
<url-pattern>
を「/
」に設定すると、WebLogic Server によって解決できないすべてのリクエストをリモート サーバ インスタンスにプロキシすることができます。そのように設定する場合、拡張子が *.jsp
、*.htm
、および *.html
のファイルをプロキシするには、これらの拡張子も個別にマップしなければなりません。サンプルについては、
HttpClusterServlet(SP02)用の web.xmlを参照してください。
この節では、新しいバージョンと非推奨バージョンの HttpClusterServlet
で使用するデプロイメント記述子ファイル(web.xml
)のサンプルを示します。
web.xml
の各サンプルでは、HTTP クラスタ サーブレットの場所と動作を指定する一連のパラメータを定義します。
以下は両方のバージョンのサーブレットに共通する内容です。
DOCTYPE
宣言では、WebLogic Server で使用する DTD によって web.xml
を検証することを指定します。
servlet
要素では、次の内容を定義します。
WL_HOME/server/lib
ディレクトリ内の weblogic.jar
内に格納されています。weblogic.jar
は WebLogic Server の起動時に CLASSPATH の位置に展開されるため、サーブレットの完全ディレクトリ パスを
web.xml
で指定する必要はありません。
WebLogicCluster
パラメータを使用し、非推奨バージョンでは defaultServers パラメータを使用します。
servlet-mapping
要素で指定します。
HttpClusterServlet(SP02)用の web.xml
次に示すのは、WebLogic Server 6.1 SP02 以降に付属する HttpClusterServlet
用の web.xml
のサンプルです。パラメータ定義については、
プロキシ サーブレットのデプロイメント パラメータを参照してください。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.
//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>
weblogic.servlet.proxy.HttpClusterServlet
</servlet-class>
<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>
myserver1:7736|myserver2:7736|myserver:7736
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
非推奨の HttpClusterServlet 用の web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.
//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>
weblogic.servlet.internal.HttpClusterServlet
</servlet-class>
<init-param>
<param-name>defaultServers</param-name>
<param-value>
myserver1:7736:7737|myserver2:7736:7737|myserver:7736:7737
</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
プロキシ サーブレットのデプロイメント パラメータ
表 10-1 に、現行バージョンのプロキシ サーブレットの動作をコンフィグレーションするための主なパラメータの一覧を示します。 表 10-2 には、非推奨になったプロキシ サーブレット用のパラメータの一覧を示します。
WebLogic Server 6.1 SP02 以前では、プロキシ サーブレットの動作はそのサーブレット独自のパラメータ セットで設定されていました。SP02 以降では、(Apache、Microsoft、および Netscape の各 Web サーバ用の)WebLogic Server プラグインの設定に使用するパラメータの名前に合わせて、プロキシ サーブレット用のパラメータ群の名前が変更されています。プロキシ サーブレット、およびサードパーティ製 Web サーバ用プラグインを設定するための全パラメータの一覧については、 Web サーバ プラグインのパラメータを参照してください。
表 10-1 の「対応する非推奨パラメータ」列には、以前のバージョンのプロキシ サーブレットで使用されていた(非推奨になった)パラメータを示しています。
構文
パラメータを指定する際の構文と、その中でパラメータが指定されるファイルは、プロキシ サーブレットとプラグインとでは異なり、またプラグインの種類によっても異なります。
プロキシ サーブレットについては、web.xml
内で、対象サーブレットに対応する <servlet>
要素内の <init-param>
要素内にパラメータを定義します。次に例を示します。
<init-param>
<param-name>ParameterName
</param-name>
<param-value>ParameterValue
</param-value>
</init-param>
表10-1 WebLogic Server 6.1 SP02 の プロキシ サーブレットのデプロイメント パラメータ
WebLogic Server 6.1 SP02 以降のパラメータ |
説明 |
対応する非推奨パラメータ |
---|---|---|
|
|
|
|
有効な値は ON と OFF。 プラグインと WebLogic Server の間で SSL を使用する場合、ポート番号を SSL リスン ポートの番号に、 |
|
|
有効な値は ON と OFF。 ON に設定すると、任意のリクエストにリクエスト パラメータ |
|
|
サーブレットがサーバ インスタンスへの接続試行の間に待機する秒数。 クライアントに「 構文は次のとおり。
|
|
|
サーブレットがサーバ インスタンスへの接続試行を中止するまでの秒数。 接続に成功する前に 構文は次のとおり。
|
|
|
リクエストがクラスタに転送される前に、プラグインによって元の URL の先頭部分から取り除かれる文字列。 構文は次のとおり。
例 次の URL が解析のためにプラグインに渡されるとする。
WebLogic Server に転送される URL は次のとおり。
|
|
|
URL の最後から取り除かれるファイル拡張子。 構文は次のとおり。
|
|
|
有効な値は true または false。デフォルト値は false。 この設定は、ユーザ認証がプロキシ サーバ上で実行される場合に役立つ。
|
|
|
|
|
表10-2 非推奨のプロキシ サーブレット用パラメータ
コンフィグレーションの確認
HttpClusterServlet
のコンフィグレーションが正しく機能することを確認するには、次の手順を実行します。
web.xml
で、DebugConfigInfo
パラメータを ON
に設定します。
http://
myServer
:
port
/
placeholder.jsp
?__WebLogicBridgeConfig
myServer
は、HttpClusterServlet
が動作するプロキシ マシン上の管理対象サーバです。
port
は、 そのサーバ上で HTTP リクエストをリスンしているポート番号です。
placeholder.jsp
は、サーバ上に存在していないファイルです。
プラグインは、コンフィグレーション情報と実行時の統計情報を収集し、ブラウザに情報を返します。詳細については DebugConfigInfoを参照してください。
![]() |
![]() |
![]() |