![]() |
![]() |
|
|
| |
以下の節では、別の 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
の古いバージョンもまだ利用でき、このマニュアルで説明されているように機能します。旧バージョンと新バージョンの相違点については、このマニュアルの適切な場所で説明します。古いバージョンは使用が推奨されず、将来のリリースでは削除される予定です。
新しいバージョンは、以下の機能を備えています。
weblogic.servlet.proxy.HttpProxyServlet
セカンダリ HTTP サーバへのプロキシの設定
セカンダリ HTTP サーバのプロキシを設定するには、次の手順に従います。
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 アプリケーションのアセンブルとコンフィグレーション 」を参照してください。
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 のサンプルを参照してください。
<url-pattern>
にマップします。特に、プロキシするファイルの拡張子(*.jsp
、*.html
など)をマップします。Web アプリケーション デプロイメント記述子 web.xml
で <servlet-mapping>
要素を使用します。
<url-pattern>
を「/
」に設定した場合、WebLogic Server によって解決できないリクエストはすべてリモート サーバにプロキシされます。しかし、拡張子が *.jsp
、*.html
、および *.html
のファイルをプロキシする場合、これらの拡張子もマップしなければなりません。
次に、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>
![]() |
![]() |
![]() |