WebLogic Server における Web サーバ プラグインの使い方
![]() |
![]() |
![]() |
![]() |
以下の節では、Netscape Enterprise Server (NES) プロキシ プラグインをインストールおよびコンフィグレーションする方法を説明します。
Netscape Enterprise Server プラグインは、Sun One Web Server (iPlanet とも呼ばれる) から WebLogic Server にリクエストをプロキシします。このプラグインは、WebLogic Server の動的な機能を必要とするリクエストを WebLogic Server が処理できるようにすることによって Sun One Web Server を拡張します。
Netscape Enterprise Server プラグインは、Sun One Web Server が静的ページを提供し、別のプロセス (おそらく別のホスト) で動作している Weblogic Server インスタンスが動的ページ (JSP や HTTP サーブレットで生成されたページ) を提供する、という環境で使用するためのものです。WebLogic Server と Netscape Enterprise Server プラグインは、クリア テキストまたはセキュア ソケット レイヤ (SSL) を使用して接続されます。エンド ユーザ、つまりブラウザには、WebLogic に委託された HTTP リクエストが静的ページと同じ場所から送られてきたように見えます。また、WebLogic Server の HTTP トンネリング機能も Netscape Enterprise Server プラグインを介して動作するため、動的ページだけでなく、すべての WebLogic Server サービスへのアクセスを提供できます。
Netscape Enterprise Server プラグインは、Sun One Web Server で NES モジュールとして動作します。NES モジュールは起動時に NES によってロードされ、特定の HTTP リクエストがそこに委託されます。NES は HTTP (Java) サーブレットと似ていますが、プラットフォームにネイティブなコードで記述されています。
プラグインのコンフィグレーション ファイルで WebLogicHost および WebLogicPort パラメータを使用して、対象の WebLogic Server インスタンスを指定します。対象として WebLogic Server クラスタまたはクラスタ化されていないサーバのグループを指定するには、WebLogicCluster パラメータを使用します。 プラグイン パラメータの設定の詳細については、「Web サーバ プラグインのパラメータ」を参照してください。
Sun One Web Server および iPlanet サーバのサポート対象のバージョンに関する詳細については、「サポート対象のコンフィグレーション」を参照してください。
WebLogic Server Netscape Enterprise Server プラグインは、プラグインから WebLogic Server への接続の再利用可能なプールを使用して効率的なパフォーマンスを提供します。NES プラグインは、プラグインと WebLogic Server 間の「キープアライブ」接続を自動的に実装します。接続が 30 秒 (またはユーザ定義の時間) を超えて非アクティブな場合、その接続は閉じます。この機能は、必要に応じて無効にできます。詳細については、「KeepAliveEnabled」を参照してください。
Netscape Enterprise Server プラグインは、Linux、Solaris、AIX、および Windows の各プラットフォームでサポートされています。プラグインはすべてのリリースのすべてのオペレーティング システムでサポートされているわけではありません。Netscape Enterprise Server プラグインの特定のバージョンのプラットフォーム サポートについては、『WebLogic Platform 8.1 でサポート対象のコンフィグレーション』の「サポート対象の Web サーバ、ブラウザ、およびファイアウォール」を参照してください。
Netscape Enterprise Server プラグインをインストールしてコンフィグレーションするには、次の手順を行います。
WebLogic NES プラグイン モジュールは、UNIX プラットフォームでは共有オブジェクト (.so
) として、Windows ではダイナミック リンク ライブラリ (.dll
) として配布されます。それらのファイルはそれぞれ、WebLogic Server 配布キットの WL_HOME/server/lib
ディレクトリまたは WL_HOME/server/bin
ディレクトリに配置されています。WL_HOME は、WebLogic プラットフォームの最上位ディレクトリを表しています。server ディレクトリには、WebLogic Server のインストール ファイルが格納されます。モジュールは次のとおりです。
obj.conf
ファイルを修正します。obj.conf
ファイルでは、WebLogic Server にプロキシされるリクエストや他のコンフィグレーション情報を定義します。NES インスタンスの obj.conf
ファイルは次の位置にあります。
NETSCAPE_HOME
/https-
INSTANCE_NAME
/config/obj.conf
NETSCAPE_HOME
は NES がインストールされているルート ディレクトリで、INSTANCE_NAME
は特定のインスタンス、つまりユーザがサーバとしてコンフィグレーションしているマシンです。たとえば、myunixmachine
という UNIX マシンでは、obj.conf
ファイルは次の位置で見つかります。
/usr/local/netscape/enterprise-351/
https-myunixmachine/config/obj.conf
4.x 以前の iPlanet を使用している場合は、以下の行を obj.conf
ファイルの先頭に追加します。
Init fn="load-modules" funcs="wl_proxy,wl_init"\
shlib=/usr/local/netscape/plugins/SHARED_LIBRARY
Init fn="wl_init"
SHARED_LIBRARY
は、「Netscape Enterprise Server プラグインのインストールとコンフィグレーション」の手順 1 でインストールした共有オブジェクトまたは dll
(libproxy.so
など) です。関数「load-modules
」は、NES 起動時に共有ライブラリにロード用のタグを付けます。値「wl_proxy
」と「wl_init
」は、Netscape Enterprise Server プラグインが実行する関数を識別します。
iPlanet 6.0 を使用するには、以下の行を magnus.conf
ファイルの先頭に追加します。これらの行は、ネイティブ ライブラリ (.so
または .dll
ファイル) を NES モジュールとしてロードするように NES に指示します。
Init fn="load-modules" funcs="wl_proxy,wl_init"\
shlib=/usr/local/netscape/plugins/SHARED_LIBRARY
Init fn="wl_init"
SHARED_LIBRARY
は、「Netscape Enterprise Server プラグインのインストールとコンフィグレーション」の手順 1 でインストールした共有オブジェクトまたは dll
(libproxy.so
など) です。関数「load-modules
」は、NES 起動時に共有ライブラリにロード用のタグを付けます。値「wl_proxy
」と「wl_init
」は、Netscape Enterprise Server プラグインが実行する関数を識別します。
<Object>
タグを作成し、PathTrim パラメータを定義します (パスによるプロキシに加えて、またはその代わりに MIME タイプでリクエストをプロキシすることもできます。手順 6 を参照してください。パスによるプロキシは MIME タイプのプロキシに優先します)。次に、文字列 */weblogic/*
が含まれるリクエストをプロキシする <Object>
タグの例を示します。
<Object name="weblogic" ppath="*/weblogic/*">
Service fn=wl_proxy WebLogicHost=myserver.com\
WebLogicPort=7001 PathTrim="/weblogic"
</Object>
name
属性を使用して最初の <Object>
タグの内部でこのオブジェクトの名前を指定します (省略可能)。name
属性は参照用であり、Netscape Enterprise Server プラグインでは使用されません。
<Object name=myObject ...>
<Object name=myObject ppath="*/weblogic/*>
ppath
属性の値は、Weblogic Server に向けられたリクエストを識別する任意の文字列です。ppath
を使用すると、そのパスの含まれるすべてのリクエストがリダイレクトされます。たとえば、ppath
の値が「*/weblogic/*
」の場合は、「http://enterprise.com/weblogic
」で始まるすべてのリクエストが Netscape Enterprise Server プラグインにリダイレクトされます。Netscape Enterprise Server プラグインは、そのリクエストを指定された WebLogic Server インスタンスまたはクラスタに送信します。
<Object>
タグと </Object>
タグの中に Service
ディレクティブを追加します。Service
ディレクティブでは、名前と値の組み合わせとして有効なパラメータを指定できます。名前と値の組み合わせが複数の場合は、1 つのスペースで区切ります。例を示します。
Service fn=wl_proxy WebLogicHost=myserver.com\
WebLogicPort=7001 PathTrim="/weblogic"
パラメータの詳細なリストについては、「Web サーバ プラグインの一般的なパラメータ」を参照してください。以下のパラメータを指定する必要があります。
クラスタ化されていない WebLogic Server の場合 :
WebLogicHost および WebLogicPort パラメータ
WebLogic Server インスタンスのパラメータの場合 :
WebLogicCluster パラメータ
Service
ディレクティブは常に Service fn=wl_proxy
で開始し、その後にパラメータの名前と値の組合せを続けます。
次に示すのは、2 つの独立した ppath
のオブジェクト定義の例です。各 ppath は、WebLogic Server の別々のインスタンスに送信されるリクエストを示します。
<Object name="weblogic" 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>
注意 : オプションのパラメータ (PathTrim など) を使用すると、Netscape Enterprise Server プラグインを通じて ppath
がどのように渡されるのかをさらに細かくコンフィグレーションできます。プラグイン パラメータの詳細なリストについては、「Web サーバ プラグインのパラメータ」を参照してください。
obj.conf
ファイルで参照される新しい MIME タイプをすべて MIME.types
ファイルに追加します。MIME タイプを追加するには、Netscape サーバ コンソールを使用するか、MIME.types
ファイルを直に編集します。 MIME.types
ファイルを直に編集するには、編集用にファイルを開き、次の行を入力します。
type=text/jsp exts=jsp
注意 : NES 4.0 (iPlanet) の場合、JSP の MIME タイプを追加するのではなく、既存の MIME タイプを次のように変更する必要があります。
magnus-internal/jsp
text/jsp.
Netscape コンソールを使用するには、[Manage Preferences|Mime タイプ] を選択して追加または編集します。
.jsp
など) を持つリクエストをすべて、URL に関係なく WebLogic Server にプロキシできます。特定のファイル タイプのすべてのリクエストを WebLogic Server にプロキシするには、次の操作を行います。 たとえば、すべての JSP を WebLogic Server インスタンスにプロキシするには、次に示す Service
ディレクティブを次の文字列で始まる最後の行の後、
Service method="(GET|HEAD|POST|PUT)" type=text/jsp fn=wl_proxy\
WebLogicHost=192.1.1.4 WebLogicPort=7001 PathPrepend=/jspfiles
この Service
ディレクティブでは、.jsp
拡張子を持つすべてのファイルが指定した WebLogic Server にプロキシされます。その際の URL は次のとおりです。
http://WebLogic:7001/jspfiles/myfile.jsp
PathPrepend パラメータの値は、リクエストがプロキシされる WebLogic Server またはクラスタでデプロイされる Web アプリケーションのコンテキスト ルートと一致していなければなりません。
Netscape Enterprise Server プラグインのエントリを追加した後、デフォルト Object
定義は次の例のようになります。追加部分は太字
で示されています。
<Object name=default>
必須パラメータがコンフィグレーションで設定されていない場合は、オブジェクトを呼び出したときに HTML エラーが発行され、コンフィグレーションに含まれていないパラメータが通知されます。
NameTrans fn=pfx2dir from=/ns-icons\
dir="c:/Netscape/SuiteSpot/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons\
dir="c:/Netscape/SuiteSpot/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir=\
"c:/Netscape/SuiteSpot/manual/https/ug"
NameTrans fn=document-root root="c:/Netscape/SuiteSpot/docs"
Service method="(GET|HEAD|POST|PUT)" type=text/jsp\
fn=wl_proxy WebLogicHost=localhost 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>
MIME に基づくプロキシを正しく機能させるには、Sun One Web Server から JAVA を無効にする必要があります。JAVA を無効にしないと、Sun One が *.jsp で終わるすべてのリクエストを処理しようとし、$doc_root でリソースが見つからないために 404 エラーを返します。
Sun One Web Server から JAVA を無効にするには、obj.conf ファイルの name="default" の下にある #NameTrans fn="ntrans-j2ee" name="j2ee"
をコメントアウトして Web サーバを再起動します。
weblogic.jar
を使用し、t3 プロトコルをトンネリングする場合は、次のオブジェクト定義を obj.conf
ファイルに追加します。HTTP トンネリング リクエストを処理させる実際の WebLogic Server ホスト名と WebLogic Server ポート番号、または WebLogic クラスタの名前を指定してください。/weblogic/
を設定します。この設定では、デフォルト Web アプリケーションとして定義されている、デフォルトの WebLogic Server HTML ページ、ウェルカム ファイル、またはデフォルト サーブレットが開くはずです。 http://myenterprise.server.com/weblogic/
デフォルト Web アプリケーションの作成方法については、「Web アプリケーション コンポーネントのコンフィグレーション」を参照してください。
Netscape Enterprise Server プラグインを使用するには、NES の obj.conf
ファイルをいくつかの点で修正する必要があります。その修正では、リクエストがどのように WebLogic Server にプロキシされるのかを指定します。リクエストは、URL または MIME タイプに基づいてプロキシできます。それぞれの手順については、「Netscape Enterprise Server プラグインのインストールとコンフィグレーション」を参照してください。
Netscape の obj.conf
ファイルは、テキストの配置に関して非常に厳密です。問題が起こらないようにするために、obj.conf
ファイルに関する以下の点に注意してください。
\
」を置いて次の行の入力を続けます。「\」があると、最初の行の末尾が次の行頭に直接つながります。行末と次行の語の間に空白が必要な場合は、最初の行の行末 (「\」の前) か次行の先頭にスペースを 1 文字分だけ入れます。WebLogicCluster
の後に同じ行で列挙する必要があります。次に示すのは、クラスタを使用しない場合に obj.conf
ファイルに追加する行の例です。 この例をテンプレートとして使用し、ユーザの環境およびサーバに合うように変更できます。# で始まる行はコメントです。
注意 : obj.conf
ファイルでは、意味のないスペースを挿入しないようにしてください。このサンプルをコピーして貼り付けると、余分なスペースが挿入されて、ファイルを読み取るときに問題が生じることがあります。
Enterprise Server コンフィグレーション ファイルの詳細な説明は、Netscape Enterprise Server プラグインのマニュアルで参照できます。
## ------------- ここから OBJ.CONF コンフィグレーションのサンプル ---------
# (クラスタなし)
# 以下の行は、起動時にロードする NES ライブラリを
# 指定し、ライブラリ内のどの関数が NES 関数かを
# 示す。ライブラリへのパス (shlib=<...> パラメータの
# 値) とそのファイルが読み取り可能であることを確認する。
# 読み取り可能でない場合、サーバは起動に失敗する
Init fn="load-modules" funcs="wl_proxy,wl_init"\
shlib=/usr/local/netscape/plugins/libproxy.so
Init fn="wl_init"
# NES モジュール (さらに WebLogic) で処理する
# HTTP リクエストの種類をコンフィグレーションする。これは、
# 次の例のように 1 つ以上の「<Object>」タグで指定する
# ここでは、NES モジュールをコンフィグレーションして
# 「/weblogic」のリクエストを、ホスト myweblogic.server.com の
# ポート 7001 でリスンする WebLogic Server に渡す
<Object name="weblogic" ppath="*/weblogic/*">
Service fn=wl_proxy WebLogicHost=myweblogic.server.com\
WebLogicPort=7001 PathTrim="/weblogic"
</Object>
# ここでは、プラグインをコンフィグレーションして
# 「/servletimages/」に一致するリクエストが
# plug-in/WebLogic で処理されるようにする
<Object name="si" ppath="*/servletimages/*">
Service fn=wl_proxy WebLogicHost=192.192.1.4 WebLogicPort=7001
</Object>
# この Object ディレクティブは、リクエストのパスではなく
# ファイル拡張子で機能する。このコンフィグレーションを使用するには、
# 次の mime.types ファイルにも行を追加する必要がある
#
# type=text/jsp exts=jsp
#
# このコンフィグレーションでは、「.jsp」の拡張子が付いたファイルが
# WebLogic にプロキシ送信される。次に、
# この拡張子の Service 行を Object 定義「default」に追加する
# この定義は obj.conf ファイルにすでに存在している必要がある
<Object name=default>
NameTrans fn=pfx2dir from=/ns-icons\
dir="c:/Netscape/SuiteSpot/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons\
dir="c:/Netscape/SuiteSpot/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir=\
"c:/Netscape/SuiteSpot/manual/https/ug"
NameTrans fn=document-root root="c:/Netscape/SuiteSpot/docs"
Service method="(GET|HEAD|POST|PUT)" type=text/jsp fn=wl_proxy\
WebLogicHost=localhost 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>
# 次のディレクティブは、NES プラグインを介して
# WebLogic プロコトルの HTTP トンネリングを有効にする
<Object name="tunnel" ppath="*/HTTPClnt*">
Service fn=wl_proxy WebLogicHost=192.192.1.4 WebLogicPort=7001
</Object>
#
## ------- ここまで OBJ.CONF コンフィグレーションのサンプル -------
次に示すのは、WebLogic Server クラスタを使用する場合に obj.conf
ファイルに追加する行の例です。この例をテンプレートとして使用し、ユーザの環境およびサーバに合うように変更できます。 #
で始まる行はコメントです。
注意 : obj.conf
ファイルでは、意味のないスペースを挿入しないようにしてください。このサンプルをコピーして貼り付けると、余分なスペースが挿入されて、ファイルを読み取るときに問題が生じることがあります。
注意 : 単一の Web サーバから複数の WebLogic Server クラスタにプロキシする場合、各クラスタにはユニークな CookieName
パラメータが必要です。また、それぞれの値はユニークな文字列で始める必要があります。
詳細については、Netscape から提供される Enterprise Server のコンフィグレーション ファイルに関するマニュアルを参照してください。
## ------------- ここから OBJ.CONF コンフィグレーションのサンプル ---------
# (WebLogic クラスタを使用)
#
# 以下の行は、起動時にロードする NES ライブラリを
# 指定し、ライブラリ内のどの関数が NES 関数かを
# 示す。ライブラリへのパス (shlib=<...> パラメータの
# 値) とそのファイルが読み取り可能であることを確認する。
# 読み取り可能でない場合、サーバは起動に失敗する
Init fn="load-modules" funcs="wl_proxy,wl_init"\
shlib=/usr/local/netscape/plugins/libproxy.so
Init fn="wl_init"
# NES モジュール (さらに WebLogic) で処理する
# HTTP リクエストの種類をコンフィグレーションする。これは、
# 次の例のように 1 つ以上の「<Object>」タグで指定する
# ここでは、NES モジュールをコンフィグレーションして
# 「/weblogic」のリクエストを WebLogic Server のクラスタに渡す
<Object name="weblogic" ppath="*/weblogic/*">
Service fn=wl_proxy \
WebLogicCluster="myweblogic.com:7001,yourweblogic.com:7001,\
theirweblogic.com:7001" PathTrim="/weblogic"
</Object>
# ここでは、プラグインをコンフィグレーションして
# 「/servletimages/」に一致するリクエストが
# plug-in/WebLogic で処理されるようにする
<Object name="si" ppath="*/servletimages/*">
Service fn=wl_proxy \
WebLogicCluster="myweblogic.com:7001,yourweblogic.com:7001,\
theirweblogic.com:7001"
</Object>
# この Object ディレクティブは、リクエストのパスではなく
# ファイル拡張子で機能する。このコンフィグレーションを使用するには、
# 次の mime.types ファイルにも行を追加する必要がある
#
# type=text/jsp exts=jsp
#
# このコンフィグレーションでは、「.jsp」の拡張子が付いたファイルが
# WebLogic にプロキシ送信される。次に、
# この拡張子の Service 行を Object 定義「default」に追加する
# この定義は obj.conf ファイルにすでに存在している必要がある
<Object name=default>
NameTrans fn=pfx2dir from=/ns-icons\
dir="c:/Netscape/SuiteSpot/ns-icons"
NameTrans fn=pfx2dir from=/mc-icons\
dir="c:/Netscape/SuiteSpot/ns-icons"
NameTrans fn="pfx2dir" from="/help" dir=\
"c:/Netscape/SuiteSpot/manual/https/ug"
NameTrans fn=document-root root="c:/Netscape/SuiteSpot/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>
# 次のディレクティブは、NES プラグインを介して
# WebLogic プロコトルの HTTP トンネリングを有効にする
<Object name="tunnel" ppath="*/HTTPClnt*">
Service fn=wl_proxy WebLogicCluster="myweblogic.com:7001,\
yourweblogic.com:7001,theirweblogic.com:7001"
</Object>
#
## ------- ここまで OBJ.CONF コンフィグレーションのサンプル -------
Netscape Enterprise Server プラグインを介してアクセスされる WebLogic Server アプリケーションを保護するには、境界認証を使用します。
WebLogic ID アサーション プロバイダは、WebLogic Server アプリケーションにアクセスする外部システム (Netscape Enterprise Server プラグインを介して WebLogic Server アプリケーションにアクセスするユーザを含む) のトークンを認証します。次のように、プラグインを保護する ID アサーション プロバイダを作成します。
web.xml
デプロイメント記述子ファイルで clientCertProxy
属性を True に設定します。クラスタを使用する場合は、Administration Console の [クラスタ|コンフィグレーション|全般] タブで、クラスタ全体に対して ClientCertProxyEnabled
属性を True に設定することもできます。『WebLogic Server Web アプリケーションの開発』の「context-param」を参照してください。clientCertProxy
を設定したら、接続フィルタを使用して、Netscape Enterprise Server プラグインが動作しているマシンからの接続のみを WebLogic Server が受け入れるようにします。『WebLogic Security プログラマーズ ガイド』の「ネットワーク接続フィルタの使い方」を参照してください。 ID アサーション プロバイダの詳細については、『WebLogic Security サービスの開発』の「ID アサーション プロバイダ」を参照してください。
セキュア ソケット レイヤ (SSL) プロトコルを使用すると、Netscape Enterprise Server プラグインと WebLogic Server の間で接続を保護できます。SSL プロトコルは、Netscape Enterprise Server プラグインと WebLogic Server の間でやり取りされるデータに機密性と整合性をもたらします。
Netscape Enterprise Server プラグインは、SSL プロトコルを使用して Netscape Enterprise Server プラグインと WebLogic Server の間の接続が保護されるかどうかを、(通常はブラウザによって) HTTP リクエストで指定される転送プロトコル (http
または https
) では判断しません。
Netscape Enterprise Server プラグインと WebLogic Server の間で SSL プロトコルを使用するには、次の手順を行います。
obj.conf
ファイルの Service
ディレクティブの WebLogicPort
パラメータを、手順 2 でコンフィグレーションしたリスン ポートに設定します。obj.conf
ファイルの Service
ディレクティブの SecureProxy パラメータを ON
に設定します。keytool
ユーティリティを使用して、BEA_HOME/weblogic81/server/lib
にある DemoTrust.jks
キーストア ファイルから信頼性のある認証局ファイルをエクスポートします。
keytool -export -file trustedcafile.der -keystore DemoTrust.jks -alias wlsdemoca
キーストアから別の信頼された CA ファイルを取得するには、エイリアス名を変更します。
キーストアの信頼された CA ファイルをすべて表示するには、次のコマンドを使用します。
keytool -list -keystore DemoTrust.jks
java utils.der2pem trustedcafile.der
obj.conf
ファイルの Service
ディレクティブで、SSL 接続の情報を定義する追加パラメータを設定します。パラメータの詳細なリストについては、「Web サーバ プラグインの SSL パラメータ」を参照してください。
WebLogic Server インスタンスが 1 つ動作している場合、プラグインは WebLogicHost パラメータで定義されているサーバに接続しようとします。その試行が失敗すると、HTTP 503
エラー メッセージが返されます。プラグインは、ConnectTimeoutSecs を超えるまで WebLogic Server への接続を試み続けます。
WebLogic Server に接続するときに、Netscape Enterprise Server プラグインは複数のコンフィグレーション パラメータを使用して WebLogic Server ホストへの接続の待ち時間と、接続確立後の応答の待ち時間を判断します。接続できないか、応答がない場合、このプラグインはクラスタ内の別の WebLogic Server に接続してリクエストを送信しようとします。接続が失敗するか、クラスタ内のどの WebLogic Server からも応答がない場合は、エラー メッセージが送信されます。
図 4-1 は、プラグインがどのようにフェイルオーバを処理するのかを示しています。
接続リクエストに WebLogic Server ホストが応答できない場合は、ホスト マシンの問題やネットワークの問題など、サーバに障害があることが考えられます。
すべての WebLogic Server インスタンスが応答できない場合は、WebLogic Server が動作していないことや、サーバのハング、データベースの問題など、アプリケーションに障害があることが考えられます。
WebLogicCluster
パラメータで WebLogic Server インスタンスのリストを指定すると、プラグインではクラスタ メンバー間でのロード バランシングの起点としてそのリストが使用されます。最初のリクエストがそれらのサーバの 1 つに転送された後に、クラスタ内のサーバの更新されたリストを格納する動的サーバ リストが返されます。更新されたリストではクラスタ内の新しいサーバが追加され、すでにクラスタから外れているか、リクエストに応答できなかったサーバが削除されます。このリストは、クラスタで変更が行われたときに HTTP 応答によって自動的に更新されます。
リクエストがクッキー、POST データ、または URL エンコーディングを通じてセッション情報を格納している場合、そのセッション ID にはセッションが最初に確立された特定のサーバ (プライマリ サーバ) への参照と元のセッションがレプリケートされる追加サーバ (セカンダリ サーバ) への参照が含まれています。 クッキーが含まれているリクエストは、プライマリ サーバに接続しようとします。その試行が失敗すると、リクエストはセカンダリ サーバに転送されます。プライマリ サーバとセカンダリ サーバが両方とも失敗すると、セッションが失われて、プラグインは動的クラスタ リストの別のサーバにあらためて接続しようとします。詳細については、「図 4-1 接続のフェイルオーバ」を参照してください。
注意 : POST データが 64K を超える場合、プラグインは、セッション ID を取得するための POST データの解析を行いません。したがって、セッション ID を POST データに格納した場合、プラグインはリクエストを正しいプライマリまたはセカンダリ サーバにルーティングできないので、セッション データが失われる可能性があります。
ほとんどのコンフィグレーションでは、Netscape Enterprise Server プラグインはリクエストをクラスタのプライマリ インスタンスに送信します。そのインスタンスが利用できない場合、リクエストはセカンダリ インスタンスにフェイルオーバされます。ただし、ファイアウォールとロードディレクタを組み合わせて使う一部のコンフィグレーションでは、WebLogic Server のプライマリ インスタンスが利用できない場合でもどれか 1 つのサーバ (ファイアウォールまたはロードディレクタ) がリクエストを受け付けて、正常な接続を返すことができます。利用できない WebLogic Server のプライマリ インスタンスに送信しようとしたリクエストは、プラグインに「connection reset」として返されます。
ファイアウォールの組合せで実行するリクエストは、ロードディレクタの有無に関係なく、WebLogic Server が処理します。つまり、connection reset
という応答は、WebLogic Server のセカンダリ インスタンスにフェイルオーバします。connection reset
という応答がこれらのコンフィグレーションではフェイルオーバするため、サーブレットは多重呼び出し不変でなければなりません。 それ以外の場合、トランザクションの重複処理になる可能性があります。
プラグインによって送出される HTTP エラー コードは、状況に応じて異なります。以下の状況では、HTTP エラー コード 500 が返されます。
httpd.conf
ファイルに WebLogicCluster
または WebLogicPort
が指定されていない。httpd.conf
ファイルに指定されている WebLogicHost
パラメータを解決できない。httpd.conf
ファイルの WebLogicPort
で指定されているポート番号が 65535 を超えている。PathTrim
プロパティの適用時にリクエストの解析に失敗した。POST
データの読み込みでエラーが発生した。POST
データの書き込みが失敗した。POST
データの読み込みでエラーが発生した。POST
がタイムアウトした。trustedCAFile
パラメータなしで指定された。
![]() ![]() |
![]() |
![]() |