ORACLE JAPAN Server Release 6.1

 

  |  

  WebLogic Server ホーム   |     管理者ガイド   |   前へ   |   次へ   |   目次   |   索引   |   PDF 版

別の HTTP サーバへのリクエストのプロキシ

 

以下の節では、別の HTTP サーバに HTTP リクエストをプロキシする方法について説明します。

 


概要

WebLogic Server をプライマリ Web サーバとして使用する場合、その WebLogic Server が特定のリクエストをセカンダリ HTTP サーバ(Netscape Enterprise Server、Apache、Microsoft Internet Information Server、WebLogic Server の別のインスタンスなど)に受け渡す、つまりプロキシするようコンフィグレーションできます。プロキシされたリクエストは、特定の URL にリダイレクトされます。また、異なるマシン上の別の Web サーバにプロキシすることもできます。リクエストのプロキシは、受信するリクエストの URL に基づいて行われます。

HttpProxyServlet (配布キットの一部として提供)は、リクエストのリダイレクトを行う WebLogic Server のインスタンスを介して、HTTP リクエストを取得し、プロキシ URL にリダイレクトして、その応答を クライアントのブラウザに送信します。プロキシを使用するには、Web アプリケーションでそのプロキシをコンフィグレーションして、リクエストをリダイレクトする WebLogic Server にデプロイします。

WebLogic Server のクラスタにリクエストをプロキシする場合は、HttpClusterServlet を使用します。詳細については、 WebLogic クラスタ へのリクエストのプロキシを参照してください。

 


HttpProxyServlet の新しいバージョン

WebLogic Server 6.1 のサービス パック 2 には、HttpProxyServlet の新しいバージョンが付属しています。HttpProxyServlet の古いバージョンもまだ利用でき、このマニュアルで説明されているように機能します。旧バージョンと新バージョンの相違点については、このマニュアルの適切な場所で説明します。古いバージョンは使用が推奨されず、将来のリリースでは削除される予定です。

新しいバージョンは、以下の機能を備えています。

 


セカンダリ HTTP サーバへのプロキシの設定

セカンダリ HTTP サーバのプロキシを設定するには、次の手順に従います。

  1. proxy サーブレットを Web アプリケーション デプロイメント記述子に登録します。Web アプリケーションは、リクエストに応答する WebLogic Server のデフォルト Web アプリケーションでなければなりません。

    HttpProxyServlet の新しいバージョンを使用する場合は、 新バージョンの HttpProxyServlet で使用する web.xml のサンプルを参照してください。

    HttpProxyServlet の古い非推奨バージョンを使用する場合は、 非推奨バージョンの HttpProxyServlet で使用する web.xml のサンプルを参照してください。

    HttpProxyServlet の新しいバージョンのクラス名は weblogic.servlet.proxy.HttpProxyServlet です。

    HttpProxyServlet の古い非推奨バージョンのクラス名は weblogic.t3.srvr.HttpProxyServlet です。

    デプロイメント記述子と Web アプリケーションの詳細については、「Web アプリケーションのアセンブルとコンフィグレーション 」を参照してください。

  2. HttpProxyServlet に対する適切な初期化パラメータを定義します。初期化パラメータの定義は、Web アプリケーション デプロイメント記述子 web.xml<init-param> 要素で行います。

    新しいバージョンの HttpProxyServlet を使用する場合は、Web アプリケーション デプロイメント記述子 web.xml<init-param> 要素を使って、WebLogicHost パラメータと WebLogicPort パラメータを定義します(この 2 つのパラメータは必須です)。WebLogicHost にはセカンダリ HTTP サーバのホスト名を設定し、WebLogicPort にはセカンダリ HTTP サーバが HTTP リクエストのリスンに使用するポート番号を設定します。必要に応じて、 Web サーバ プラグインのパラメータで説明されている追加パラメータも定義できます。サンプルのデプロイメント記述子については、 新バージョンの HttpProxyServlet で使用する web.xml のサンプルを参照してください。

    古い非推奨バージョンの HttpProxyServlet を使用する場合は、Web アプリケーション デプロイメント記述子 web.xml<init-param> 要素を使って、redirectURL パラメータを定義します。このパラメータには、セカンダリ HTTP サーバの URL をポート番号も含めて設定します(例: http://myHttpServer:7001)。サンプルのデプロイメント記述子については、 非推奨バージョンの HttpProxyServlet で使用する web.xml のサンプルを参照してください。

  3. 定義したサーブレットを、<url-pattern> にマップします。特に、プロキシするファイルの拡張子(*.jsp、*.html など)をマップします。Web アプリケーション デプロイメント記述子 web.xml<servlet-mapping> 要素を使用します。

    <url-pattern> を「/」に設定した場合、WebLogic Server によって解決できないリクエストはすべてリモート サーバにプロキシされます。しかし、拡張子が *.jsp*.html、および *.html のファイルをプロキシする場合、これらの拡張子もマップしなければなりません。

  4. 受信するリクエストをリダイレクトする WebLogic Server に Web アプリケーションをデプロイします。

 


プロキシ サーブレットのデプロイメント記述子のサンプル

次に、HttpProxyServlet で使用する Web アプリケーション デプロイメント記述子のサンプルを示します。

コード リスト 9-1 新バージョンの HttpProxyServlet で使用する 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>ProxyServlet</servlet-name>
  <servlet-class>weblogic.servlet.proxy.HttpProxyServlet</servlet-class>

<init-param>
<param-name>WebLogicHost</param-name>
<param-value>serverName</param-value>
</init-param>

<init-param>
<param-name>WebLogicPort</param-name>
<param-value>serverPort</param-value>
</init-param> </servlet>

<servlet-mapping>
  <servlet-name>ProxyServlet</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>ProxyServlet</servlet-name>
  <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>ProxyServlet</servlet-name>
  <url-pattern>*.htm</url-pattern>
</servlet-mapping>

<servlet-mapping>
  <servlet-name>ProxyServlet</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

</web-app>

注意: <servlet> ブロック内にさらに <init-param> ブロックを作成すれば、パラメータの定義を追加できます。次に例を示します。

<init-param>
<param-name>
ParameterName</param-name>
<param-value>
ParameterValue</param-value>
</init-param>

ParameterName Web サーバ プラグインのパラメータで説明されているパラメータで、ParameterValue はパラメータに設定する値です。

コード リスト 9-2 非推奨バージョンの HttpProxyServlet で使用する 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>ProxyServlet</servlet-name>
<servlet-class>weblogic.t3.srvr.HttpProxyServlet</servlet-class>

<init-param>
<param-name>redirectURL</param-name>
<param-value>http://myServer:7001</param-value>
</init-param>

</servlet>

<servlet-mapping>
<servlet-name>ProxyServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>ProxyServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>ProxyServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>ProxyServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

</web-app>

 

back to top previous page next page