Oracle® Fusion Middleware Oracle WebLogic Serverプロキシ・プラグインの使用 12c (12.1.3) E56226-05 |
|
![]() 前 |
![]() 次 |
この章では、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3をインストールして構成する方法を説明します。以前のリリースでは、このプラグインはNetscape Enterprise Serverプラグインと呼ばれていました。
この章には次の項が含まれます:
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3では、リクエストをOracle iPlanet Web ServerからOracle WebLogic Serverへプロキシできます。このプラグインによって、WebLogic Serverの動的な機能を必要とするリクエストをWebLogic Serverで処理できるようにすることで、Oracle iPlanet Web Serverのインストールが拡張されます。
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3は、静的ページがOracle iPlanet Web Serverによって提供され、JSPや、HTTPサーブレットで生成されたページなどの動的ページの提供をOracle WebLogic Serverのインスタンス(別のプロセスで、場合によっては別のシステム上で動作)が委任される環境用に設計されています。WebLogic ServerとiPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3は、クリア・テキストまたはSecure Sockets Layer (SSL)を使用して接続されます。エンド・ユーザーには(つまり、ブラウザでは)、WebLogic Serverへ委任されるHTTPリクエストは、静的ページと同じソースに由来しているように見えます。また、WebLogic ServerのHTTPトンネリング機能は、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3を介して動作し、すべてのWebLogic Serverサービス(動的ページのみではない)へのアクセスを提供できます。
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3は、Oracle iPlanet Web Server内のモジュールとして機能します。モジュールは起動時にロードされ、その後、構成に基づいて特定のHTTPリクエストがモジュールへ委任されます。
Oracle iPlanet Web Serverの詳細は、http://docs.oracle.com/cd/E18958_01/doc.70/e18789/chapter.htm
を参照してください。
次の各項では、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3のインストール前提条件および構成方法について説明します。
Oracle iPlanet Web Serverプラグインをインストールする前に、次のことを行ってください。
プラグインのzipを解凍する場所(PLUGIN_HOME(たとえば、/home/myhome/weblogic-plugins-12.1.3/))を作成します。
第1.2項「Oracle WebLogic Serverプロキシ・プラグイン12.1.3の入手方法」の説明に従って、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3をダウンロードします。
プラグインのzipディストリビューションをWebサーバーのインストール・ディレクトリ(install-dir)に解凍します。プラグインのzipディストリビューションを解凍する前に、install-dir内の既存のREADME.txtの名前を変更してください。このディストリビューションには、次のようなファイルが含まれています。
SSLを使用するためにはJDK 6以降をインストールします。orapkiユーティリティを使用する場合は、JDK 6以降のインストールが必要です。orapkiユーティリティでは、SSLで使用するための、ウォレットや証明書失効リストなどの公開鍵インフラストラクチャ(PKI)要素を管理します。
IPLANET_HOMEにインストールされたiPlanet Web Serverインストール(7.0.9以降) (つまり、iplanet-host:iplanet-portをリスニングするiPlanetサーバー)用にサポートされるOracle WebLogic Serverプロキシ・プラグイン12.1.3を作成します。
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
で説明されているように、バージョン12.1.3プラグインはiPlanet Web Serverプラットフォーム用Oracle WebLogic Serverプロキシ・プラグイン12.1.3でサポートされます。
iPlanetインスタンスの場所(INSTANCE-DIR (たとえば、${IPLANET_HOME}/https-foo))を作成します。
サポートされているバージョンのWebLogic Serverが構成済であり、ターゲット・システム上で実行されていることを確認します。このサーバーは、プラグインのzipディストリビューションを解凍したシステム上で実行する必要はありません。WebLogic Serverのサポートされているバージョンについては、次のサイトを参照してください。
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3は、共有オブジェクト(.so)として配布されます。
Oracle iPlanet Web Serverに、モジュールとしてネイティブ・ライブラリ(mod_wl.so)をロードするよう指示するには、magnus.confファイルに次の行を追加します。
Init fn="load-modules" shlib="mod_wl.so"
magnus.confファイルはINSTANCE-DIR/configディレクトリにあります。ここでのINSTANCE-DIRは、Webサーバー・インスタンスのディレクトリです。詳細は、次を参照してください。
http://download.oracle.com/docs/cd/E19146-01/821-1827/821-1827.pdf
この項では、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3の構成について説明します。
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ファイルを構成する方法は複数あります。
第4.2.5項「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>
WebLogic Serverの別々のインスタンスに送信されるリクエストを特定する、別個の2つのppath
のためのオブジェクト定義の例を次に示します。
<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>
注意: ppath をiPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3を介して渡す方法をより詳細に構成するには、PathTrim など、必須ではないパラメータを使用できます。プラグイン・パラメータの詳細なリストについては、第7.1項「Webサーバー・プラグインの一般パラメータ」を参照してください。 |
MIMEタイプによってリクエストをプロキシする場合は、obj.confファイルで参照されているすべての新しいMIMEタイプを、mime.typesファイルに追加します。MIMEタイプを追加するには、iPlanetサーバー・コンソールを使用するか、直接mime.typesファイルを編集します。
直接mime.typesファイルを編集する場合は、編集するファイルを開き、次の行を入力します。
type=text/jsp exts=jsp
iPlanet管理コンソールでmime.typesファイルを編集する場合は、次を参照してください。
http://docs.oracle.com/cd/E19146-01/821-1828/gdabr/index.html
注意: iPlanet Web Server 7.0.9以降では、すでにJSP用のMIMEタイプが定義されています。既存のMIMEタイプをmagnus-internal/jspからtext/jspに変更してください。 |
指定した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アプリケーションのコンテキスト・ルートと一致する必要があります。
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3のエントリを追加した後のデフォルトの<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によるプロキシを正常に機能させるには、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3でJavaを無効にする必要があります。無効にしないと、SUN Oneによって末尾が*.jspのすべてのリクエストの処理が試みられ、$doc_root
の下にリソースが見つからないために404エラーが返されます。
Oracle iPlanet Web ServerでJavaを無効にするには、obj.confファイルでname=
"default"の下にある
をコメント・アウトし、Webサーバーを再起動します。次のような設定も可能です。
#NameTrans fn="ntrans-j2ee" name="j2ee"
パスでプロキシする場合は、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プラグインをテストするには:
WebLogic Serverを起動します。
Oracle iPlanet Web Serverを起動します。iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3がすでに実行されている場合は、サーバーを再起動するか、再構成する必要があります。
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3をテストするには、次のURLを使用します。このサンプルで示すデフォルトのWebアプリケーションに対して定義されているとおりに、デフォルトのWebLogic Server HTMLページ、ウェルカム・ファイルまたはデフォルトのサーブレットが表示される必要があります。
http://webserver_host:webserver_port/weblogic/
デフォルトWebアプリケーションの作成方法の詳細は、『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』を参照してください。
次の例では、リクエストをバックエンドWebLogic Server (WLS)にプロキシするよう、iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3を短時間で設定するための基本的な手順を示します。
$IPLANET_INSTANCE_HOME/config/magnus.confファイルを編集し、次を追加します。
... Init fn="load-modules" shlib="$PLUGIN_HOME/lib/mod_wl.so" ...
$IPLANET_INSTANCE_HOME/config/<vs-obj.conf>ファイル(デフォルトは$IPLANET_INSTANCE_HOME/config/obj.conf)を開き、次のコードを追加します。
... <Object name="weblogic" ppath="*/wls/*"> Service fn="wl-proxy" WebLogicHost=<wls-host> WebLogicPort=<wls-port> DebugConfigInfo="ON" PathTrim="/wls" </Object> ...
obj.confの内容の構成の詳細は、第4.2.6項「obj.confファイルのサンプル(WebLogicクラスタを使用しない場合)」および第4.2.7項「obj.confファイルのサンプル(WebLogicクラスタを使用する場合)」を参照してください。
プロンプトで、次のコマンドを入力してPATHに$PLUGIN_HOMEを追加します。
set PATH=/home/user/weblogic-plugin-12.1.3/lib:..
注意: libの内容をIPLANET_HOME\libにコピーするかIPLANET_INSTANCE_HOME\bin\startservを編集しても、PATHを更新できます。 |
プロンプトで、次のコマンドを入力してiPlanetサーバーを起動します。
$IPLANET_INSTANCE_HOME/bin/startserv
ブラウザからhttp://iplanet-host:iplanet-port/mywebapp/my.jsp
にリクエストを送信し、レスポンスを確認します。
iPlanet Web Server用Oracle WebLogic Serverプロキシ・プラグイン12.1.3を使用するには、obj.confファイルにいくつかの変更を加える必要があります。詳細は、次の章を参照してください。
クラスタを使用しない場合に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---------------------
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--------------------
WebLogic ServerプラグインのログはOracle iPlanet Serverのエラー・ログの一部となっており、簡単に識別できるようにweblogic:
という接頭辞が付いています。したがって、ディレクティブWLLogFileおよびDebugは非推奨になりました。構成でまだこれらのディレクティブが使用されている場合は、次のような注意が表示されます。
weblogic: Debug & WLLogFile directives are deprecated for the current plugin release. Please Refer to the plugin documentation.
プラグインのログを有効にするには、ログレベルをfine
に設定します。