Web サーバ プラグインの使用

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

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

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

 


別の Web サーバへのリクエストのプロキシの概要

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

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

 


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

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

  1. プロキシ サーブレットを Web アプリケーション デプロイメント記述子に登録します (「ProxyServlet と共に使用する web.xml のサンプル」を参照)。Web アプリケーションは、リクエストに応答するサーバ インスタンスのデフォルト Web アプリケーションでなければなりません。プロキシ サーブレットのクラス名は、weblogic.servlet.proxy.HttpProxyServlet です。詳細については、『 WebLogic Server Web アプリケーション、サーブレット、JSP の開発』を参照してください。
  2. <param-name>redirectURL を指定し、<param-value> にプロキシされるリクエストのリダイレクト先サーバの URL を指定して、ProxyServlet の初期化パラメータを定義します。
  3. 独自の ID 証明書とキーで双方向 SSL を使用する場合は、必要に応じて以下の <KeyStore> 初期化パラメータを定義します。デプロイメント記述子に <KeyStore> が指定されていない場合、プロキシでは一方向 SSL と見なされます。
    • <KeyStore> - Web アプリケーションのキーストアの場所。
    • <KeyStoreType> - キーストアのタイプ。定義されていない場合、デフォルトのタイプが使用されます。
    • <PrivateKeyAlias> - プライベート キーのエリアス。
    • <KeyStorePasswordProperties> - Web アプリケーション内のプロパティ ファイル。キーストアおよびプライベート キーのエリアスにアクセスするための暗号化されたパスワードを定義します。このファイルの内容は次のようになります。
    • KeyStorePassword={3DES}i4+50LCKenQO8BBvlsXTrg\=\=
      PrivateKeyPassword={3DES}a4TcG4mtVVBRKtZwH3p7yA\=\=

      パスワードを暗号化するには、weblogic.security.Encrypt コマンドライン ユーティリティを使用する必要があります。Encrypt ユーティリティや、CertGen および der2pem ユーティリティの詳細については、『WebLogic Server コマンド リファレンス』の「WebLogic Server Java ユーティリティの使い方」を参照してください。

  4. ProxyServlet<url-pattern> にマップします。特に、プロキシするファイルの拡張子 (*.jsp、*.html など) をマップします。Web アプリケーション デプロイメント記述子 web.xml<servlet-mapping> 要素を使用します。
  5. <url-pattern> を「/」に設定した場合、WebLogic Server によって解決できないリクエストはすべてリモート サーバにプロキシされます。しかし、拡張子が *.jsp*.htm、および *.html のファイルをプロキシする場合、これらの拡張子もマップしなければなりません。

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

 


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

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

コード リスト 6-1 ProxyServlet と共に使用する web.xml のサンプル
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.
//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
<servlet>
  <servlet-name>ProxyServlet</servlet-name>
  <servlet-class>weblogic.servlet.proxy.HttpProxyServlet</servlet-class>
  <init-param>
    <param-name>redirectURL</param-name>
    <param-value>server:port</param-value>
  </init-param>
  <init-param>
    <param-name>KeyStore</param-name>
    <param-value>/mykeystore</param-value>
  </init-param>
  <init-param>
    <param-name>KeyStoreType</param-name>
    <param-value>jks</param-value>
  </init-param>
  <init-param>
    <param-name>PrivateKeyAlias</param-name>
    <param-value>passalias</param-value>
  </init-param>
  <init-param>
    <param-name>KeyStorePasswordProperties</param-name>
    <param-value>mykeystore.properties</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>

  ページの先頭       前  次