Oracle® Fusion Middleware Oracle WebLogic ServerにおけるWebサーバー・プラグインの使い方 11g リリース1(10.3.5) B61008-03 |
|
前 |
次 |
次の項では、Microsoft Internet Information Serverプラグインをインストールして構成する方法を説明します。
Microsoft Internet Information Serverプラグインを使用すると、Microsoft Internet Information Server (IIS)からWebLogic Serverにリクエストをプロキシできます。このプラグインは、WebLogic Serverの動的な機能を必要とするリクエストをWebLogic Serverが処理できるようにすることによってIISを拡張します。
Microsoft Internet Information Serverプラグインは、Internet Information Server (IIS)がHTMLページなどの静的ページを提供し、WebLogic ServerがHTTPサーブレットまたはJavaServer Pagesなどの動的ページを提供する環境で使用します。WebLogic Serverは、(場合によっては別のホストの)別のプロセスで動作している場合もあります。それでも、エンド・ユーザー(ブラウザ)には、WebLogic Serverに委任されるHTTPリクエストはIISから送られているように見えます。WebLogicクライアント/サーバー・プロトコルのHTTPトンネリング機能もこのプラグインを介して動作し、すべてのWebLogic Serverサービスへのアクセスを提供します。
Microsoft Internet Information Serverプラグインでは、プラグインからWebLogic Serverへの接続のプールを使用してパフォーマンスを向上させます。このプラグインは、同じクライアントからの後続リクエストに同じ接続を再利用することで、WebLogic Serverとの間でHTTP 1.1キープアライブ接続を実装します。接続が30秒(またはユーザー定義の時間)を超えて非アクティブな場合、その接続は閉じられます。クライアントとの接続は、それがタイムアウトになっていなければ、後で同じクライアントと接続するときに再利用できます。この機能は、必要に応じて無効にできます。詳細は、表7-1のKeepAliveEnabled
を参照してください。
プラグインは、ユーザーが指定する構成に基づいてリクエストをWebLogic Serverにプロキシします。リクエストのURLまたはURLの一部に基づいてリクエストをプロキシできます。これを、パスによるプロキシと呼びます。
リクエスト対象のファイルのMIMEタイプに基づいてリクエストをプロキシすることもできます(ファイル拡張子によるプロキシと呼びます)。
両方の方法を有効にすることもできます。両方の方法を有効にし、リクエストが両方の基準に一致する場合、そのリクエストはパスによってプロキシされます。
これらのリクエストの種類ごとに、プラグインの追加の動作を定義する追加パラメータを指定することもできます。詳細は、「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」および「Microsoft Internet Information Serverプラグインのインストールと構成」を参照してください。
Microsoft Internet Information Serverプラグインと互換性のあるオペレーティング・システムおよびIISバージョンの最新情報は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html
を参照してください。
「Installing Wildcard Application Mappings (IIS 6.0)」(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=true
)およびIIS 7.0用の「Add a Wildcard Script Map」(http://technet.microsoft.com/en-us/library/cc754606(WS.10).aspx
)に記述されているように、リクエスト対象のファイルの拡張子にかかわらず、Webサイトまたは仮想ディレクトリへの各リクエストの開始部分でInternet Server API (ISAPI)を実行するようにWebサイトまたは仮想ディレクトリを構成することができます。この機能を使用して、iisproxy.dll
にマッピングを挿入し、リクエストをWebLogic Serverへとパスによってプロキシできます。
次の手順は、「Installing Wildcard Application Mappings (IIS 6.0)」(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/5c5ae5e0-f4f9-44b0-a743-f4c3a5ff68ec.mspx?mfr=true
)にある、ワイルドカード・アプリケーション・マッピングをIIS 6.0のWebサーバーまたはWebサイトに追加するための指示を要約したものです。
IISマネージャでローカル・コンピュータとWebサイト・フォルダを拡張し、使用するWebサイトまたは仮想ディレクトリを右クリックし、「プロパティ」をクリックします。
ホーム・ディレクトリタブ、仮想ディレクトリタブまたはディレクトリタブの適切なタブをクリックします。
アプリケーション設定で「構成」をクリックし、「マッピング」タブをクリックします。
ワイルドカード・アプリケーション・マップをインストールするには、次を行います。
「マッピング」タブで「挿入」をクリックします。
実行ファイルテキスト・ボックスでiisproxy.dll
DLLへのパスを入力するか、「参照」をクリックして移動します。
「OK」をクリックします。
次の手順は、IS 7.0用の「Add a Wildcard Script Map」(http://technet.microsoft.com/en-us/library/cc754606(WS.10).aspx
)にある、ワイルドカード・スクリプト・マップを追加して、IIS 7.0でISAPIを使用してパスによるプロキシを行うための指示を要約したものです。
IISマネージャを開き、操作するレベルに移動します。IISマネージャを開く操作についての情報は、http://technet.microsoft.com/en-us/library/cc770472(WS.10).aspx
にある「IISマネージャを開く」を参照してください。UI内の場所への移動については、http://technet.microsoft.com/en-us/library/cc732920(WS.10).aspx
にある「IISマネージャでのナビゲーション」を参照してください。
サーバー、サイトまたはアプリケーション・ホームページの機能ビューでハンドラのマッピングをダブルクリックします。
「ハンドラ・マッピング」ページの「アクション」ペインで、ワイルドカード・スクリプト・マップをクリックします。
「実行ファイル」ボックスに完全なパスを入力するか、リクエストを処理するiisproxy.dll
を参照します。たとえば、systemroot\system32\inetsrv\iisproxy.dll
を入力します。
「名前」ボックスにハンドラ・マッピングのわかりやすい名前を入力します。
「OK」をクリックします。
オプションで、ハンドラ・マッピングページで、そのページをロックまたはロック解除するためにハンドラを選択します。ハンドラ・マッピングをロックすると、構成のより下位レベルでオーバーライドされません。リストからハンドラ・マッピングを選択し、「アクション」ペインの「ロックまたはロック解除」をクリックします。
ワイルドカード・スクリプト・マップの追加後、実行ファイルをISAPIおよびCGI権限リストに追加して実行可能にする必要があります。ISAPIおよびCGI権限の詳細は、http://technet.microsoft.com/en-us/library/cc730912(WS.10).aspx
の「Configuring ISAPI and CGI Restrictions in IIS 7」を参照してください。
Microsoft Internet Information Serverプラグインをインストールするには:
WebLogic ServerをインストールしたWL_HOME/server/plugin/win/32
またはWL_HOME/server/plugin/win/64
ディレクトリからiisproxy.dllファイルをコピーします(WL_HOME
はWebLogic PlatformおよびWebLogic Serverの最上位ディレクトリを表し、IISにアクセスできる便利なディレクトリにWebLogic Serverのインストール・ファイルが格納されています)。このディレクトリには、ステップ4で作成するiisproxy.ini
ファイルも格納する必要があります。iisproxy.dll
ファイル用のユーザーの権限を設定し、IISを実行するユーザーの名前を含めます。たとえば、iisproxy.dll
ファイル上で右クリックして権限を選択し、IISを実行する人のユーザー名を追加するという方法で行えます。
ファイル拡張子(MIMEタイプ)によるプロキシを構成する場合は、次の手順を実行します。(MIMEタイプによるプロキシに加えて、またはそのかわりに、パスによるプロキシも構成できます。ステップ3を参照してください。)
「スタート」メニューから Internet Information Serviceマネージャを選択して、起動します。
「サービス・マネージャ」の左側のパネルでWebサイトを選択します(デフォルトは「デフォルトWebサイト」です)。
ツール・バーの再生ボタンをクリックして起動します。
左側のパネルにあるWebサイトの選択を右クリックしプロパティを選択して、Webサイトのプロパティを開きます。
「プロパティ」パネルで、「ホーム・ディレクトリ」タブを選択し、「アプリケーションの設定」セクションの「構成」ボタンをクリックします。
マッピングタブの「追加」ボタンをクリックして、ファイル・タイプを追加し、それらがWebLogic Serverにプロキシされるように構成します。
「追加」ダイアログ・ボックスを参照してiisproxy.dll
ファイルを探します。
拡張子を、WebLogic Serverにプロキシするファイルのタイプに設定します。
IIS 6.0以降の構成の場合、ファイルの存在を確認するチェック・ボックスをオフにします。この確認の動作は以前のバージョンのIISから変更されています。以前は、iisproxy.dllファイルの存在を確認していましたが、プロキシからリクエストされたファイルがWebサーバーのルート・ディレクトリに存在するかどうかを確認するようになりました。この確認でファイルが見つからなかった場合、iisproxy.dllファイルはWebLogic Serverにリクエストをプロキシできません。
「ディレクトリ・セキュリティ」タブで、セキュアなインストールを作成するために、必要に応じて「メソッド除外」を設定します。
完了したら、「OK」ボタンをクリックして構成を保存します。この手順を、WebLogicにプロキシするファイル・タイプごとに繰り返します。
ファイル・タイプの構成が完了したら、「OK」ボタンをクリックして「プロパティ」パネルを閉じます。
注意: URLのサーバーとポートの後ろに追加されたパス情報は、WebLogic Serverにそのまま渡されます。たとえば、次のURLでIISにファイルをリクエストした場合:http://myiis.com/jspfiles/myfile.jsp http://mywebLogic:7001/jspfiles/myfile.jspのようなURLでWebLogic Serverにプロキシされます。 |
注意: アウト・オブ・プロセス・エラーを避けるため、「すべての不明なISAPI拡張」チェック・ボックスをオフにしないでください。 |
パスによるプロキシを構成する場合は、次の手順を実行します。(ファイル・タイプによるプロキシのほか、iisproxy.ini
ファイルに追加パラメータを指定することで、パスに基づいてファイルを提供するようにMicrosoft Internet Information Serverプラグインを構成できます。)パスによるプロキシは、MIMEタイプによるプロキシに優先します。
また、パスによってIISで定義されている複数のWebサイトをプロキシすることもできます。詳細は、「複数の仮想WebサイトからWebLogic Serverへのリクエストのプロキシ」を参照してください。
パスによるプロキシを構成するには:
「スタート」メニューから Internet Information Serviceマネージャを選択して、起動します。
iisforward.dll
ファイルをiisproxy.dll
ファイルと同じディレクトリに置き、iisforward.dll
ファイルをフィルタ・サービスとしてIISに追加します(Webサイト・プロパティ->ISAPIフィルタタブ->iisforward dllの追加)。iisforward.dll
ファイル用のユーザー権限を設定し、IISを実行するユーザーの名前を含めます。これを行う方法の1つとして、iisproxy.dll
ファイル上で右クリックして権限を選択し、IISを実行する人のユーザー名を追加するやり方があります。
IISにおいてiisproxy.dll
で処理される特殊なファイル・タイプとして.wlforwardを登録します。
iisproxy.ini
でWlForwardPath
プロパティを定義します。WlForwardPath
では、たとえば次のように、WebLogic Serverにプロキシするパスを定義します。 WlForwardPath=/weblogic
PathTrim
パラメータを設定して、必要に応じてWlForwardPath
を削除します。たとえば、次を使用して:
WlForwardPath=/weblogic PathTrim=/weblogic
IISからWebLogic Serverへのリクエストの開始部分を削除します。したがって、/weblogic/sessionが/sessionに変更されます。
パス情報が含まれていない(ホスト名しか含まれていない)リクエストが必要な場合は、DefaultFileName
パラメータを、リクエストがプロキシされるWebアプリケーションのウェルカム・ページの名前に設定します。このパラメータの値は、URLに追加されます。
アプリケーションをデバッグする必要がある場合は、iisproxy.ini
でDebug=ONパラメータを設定します。デバッグに利用できるプラグインのアクティビティのログを記録したc:\tmp\iisforward.log
が生成されます。
WebLogic Serverで、iisproxy.ini
ファイルを作成します。
iisproxy.ini
ファイルには、プラグインの構成パラメータを定義する名前=値
ペアが格納されます。パラメータのリストは、表7-1を参照してください。
iisproxy.ini
ファイルのテンプレートとしてSample iisproxy.iniファイル内のiisproxy.ini
ファイルのサンプルを使用します。
注意: 「IIS Admin Service」(コントロール・パネルの「サービス」にあります)を再起動するまで、パラメータの変更は有効になりません。 |
iisproxy.ini
ファイルをiisproxy.dll
ファイルと同じディレクトリに配置することをお薦めします。他の場所を使用することもできます。他のディレクトリに配置した場合、次のディレクトリにおいて次の順序でiisproxy.ini
が検索されます。
isproxy.dll
が配置されているディレクトリ。
Windowsレジストリで参照されている最新バージョンのWebLogic Serverのホーム・ディレクトリ。(ホーム・ディレクトリでiisproxy.ini
ファイルが見つからない場合、WebLogic Serverは、WindowsレジストリでWebLogic Serverの旧バージョンを調べ、古いインストール環境のホーム・ディレクトリでiisproxy.ini
ファイルを探します。)
c:\weblogic
ディレクトリ(存在する場合)。
Microsoft Internet Information ServerプラグインがリクエストをプロキシするWebLogic Serverのホストとポート番号を定義します。構成によって、次の2通りの方法でホストとポートを定義できます。
1つのWebLogic Serverにリクエストをプロキシする場合は、iisproxy.ini
ファイルでWebLogicHostパラメータとWebLogicPortパラメータを定義します。例:
WebLogicHost=localhost WebLogicPort=7001
WebLogic Serverのクラスタにリクエストをプロキシする場合は、iisproxy.ini
ファイルでWebLogicClusterパラメータを定義します。例:
WebLogicCluster=myweblogic.com:7001,yourweblogic.com:7001
myweblogic.comとyourweblogic.comは、クラスタ内で動作するWebLogic Serverのインスタンスです。
必要であれば、パスによるプロキシの手順に従ってHTTPトンネリングを有効にし(「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照)、HTTPトンネリング・リクエストを処理させるWebLogic Serverホスト名とWebLogic Serverポート番号、またはWebLogicクラスタの名前を置き換えてください。
iisproxy.ini
ファイルに追加パラメータを設定します。パラメータの詳細なリストは、付録「Webサーバー・プラグインの一般的なパラメータ」で参照できます。
IISからWebLogic Serverにサーブレットをプロキシする際に、パスによるプロキシを行わない場合は、「IISからWebLogic Serverへのサーブレットのプロキシ」を参照してください。
初期設定でインストールされているバージョンのIISでは、iisproxy.dll
は許可されていません。IISマネージャ・コンソールを使用して、プラグインを有効にしてください。
IISマネージャ・コンソールを起動します。
「Webサービス拡張」を選択します。
「すべての不明なISAPI拡張」を「許可」に設定します。
この項では、Microsoft Internet Information Server IIs 7.0プラグインの設定方法の差異について説明します。
Microsoft Internet Information Server IIs 7.0プラグインを設定するには、次のステップに従います。
「Webサイト」->「Webサイトの追加」を右クリックしてIISマネージャにWebアプリケーションを作成します。
「Webサイトの名前」にWebアプリケーションに付ける名前(たとえば、MyApp)を入力します。Webサイト・アプリケーション・ポート(現在使用されていない有効なポート番号)の物理パスを選択します。
「OK」をクリックして、Webアプリケーションを作成します。
「Webサイト」の下にアプリケーションの名前が表示されていれば、アプリケーションが作成され、実行が開始されたことを意味します。MyAppアプリケーションに関するすべての設定(変更可能)を参照するには、「Webサイト」の下のMyAppノードをクリックします(図4-5を参照)。
「ハンドラ・マッピング」をクリックして、特定のMIMEタイプのハンドラのマッピングを設定します。
「StaticFile」をクリックし、リクエスト・パスを*から*.*に変更します。「OK」をクリックします。
MyAppをクリックして、右側のメニュー・オプションのスクリプト・マップの追加をクリックします。リクエスト・パスに*を入力します。
iisproxy.dll
ファイルを参照し、実行ファイルとして追加します。proxy
という名前を付けます。
「リクエストの制限」ボタンをクリックし、「リクエストが指定した項目にマップされている場合のみハンドラを呼び出す」ボックスの選択を解除してください。
このハンドラ・マッピングを追加するには、「OK」をクリックします。スクリプト・マップの追加ダイアログ・ボックスの「はい」をクリックします。
パスによるプロキシを構成するには、スクリプト・マップの追加をクリックします。リクエスト・パスを*.wlforward
として指定して、実行可能ファイルをiisproxy.dll
として選択します。
「リクエストの制限」ボタンをクリックし、「リクエストが指定した項目にマップされている場合のみハンドラを呼び出す」ボックスの選択を解除してください。
このハンドラ・マッピングを追加するには、「OK」をクリックします。スクリプト・マップの追加ダイアログ・ボックスの「はい」をクリックします。
左側のMyAppアプリケーションをクリックし、ISAPIフィルタをクリックします。「追加」をクリックして、ISAPIフィルタを追加します。
フィルタ名としてforward
と入力し、実行可能ファイルとしてiisforward.dll
を選択します。「OK」をクリックします。
IISマネージャ・ツリーのルート・ノードをクリックし、ISAPIとCGIの制限をクリックします。未指定のISAPIモジュールを許可チェック・ボックスを選択します。
次の内容のiisproxy.ini
というファイルを作成し、プラグインのあるディレクトリに置きます。
WebLogicHost= @hostname@ WebLogicPort= @port@ ConnectRetrySecs=5 ConnectTimeoutSecs=25 Debug=ALL DebugConfigInfo=ON KeepAliveEnabled=true WlForwardPath=/weblogic PathTrim=/weblogic WLLogFile=@Log file name@ SecureProxy=OFF
Internet Explorerブラウザを開き、http://<hostname>:<port>
を入力します。Weblogic ServerでMedrecサンプル・アプリケーションが表示されます。
SSLモードでプラグインを実行する場合、WeblogicPort
の値をアプリケーションのSSLポートに変更し、SecureProxy
の値をONに変更します。
複数のWebサイト(IISで仮想ディレクトリとして定義)からWebLogic Serverへリクエストをプロキシするには:
仮想ディレクトリ用に新しいディレクトリを作成します。このディレクトリには、プロキシの定義に使用されるdllおよびiniファイルが格納されます。
ステップ1で作成したディレクトリにiisforward.dll
をコピーします。
各Webサイトのiisforward.dll
をIISに登録します。
iisforward.ini
というファイルを作成します。このファイルはiisforward.dll
と同じディレクトリに配置します。このファイルには、IISに定義されている仮想Webサイトごとに次のエントリを格納する必要があります。
vhostN=websiteName:port websiteName:port=dll_directory/iisproxy.ini
説明:
N は、仮想Webサイトを表す整数です。最初に定義する仮想Webサイトには整数1を使用し、以降のWebサイトには順に1ずつ増やします。
websiteName
は、IISに登録した仮想Webサイトの名前です。
port
は、IISがHTTPリクエストをリスニングしているポート番号です。
dll_directory
は、ステップ1で作成したディレクトリへのパスです。
例:
vhost1=strawberry.com:7001 strawberry.com:7001=c:\strawberry\iisproxy.ini vhost2=blueberry.com:7001 blueberry.com:7001=c:\blueberry\iisproxy.ini ...
「プロキシ・リクエスト」のステップ4の説明に従って、仮想Webサイトのiisproxy.ini
ファイルを作成します。このiispoxy.ini
ファイルをステップ1で作成したディレクトリにコピーします。
ステップ1で作成したディレクトリにiisproxy.dll
をコピーします。
IIS 5.0で、「アプリケーション保護」オプションの値を「高(分離プロセス)」に設定します。「アプリケーション保護」オプションを「中(プール)」に設定すると、最初のWebサイトとして登録されたiisproxy.dllが常に呼び出されます。この場合、すべてのリクエストは、最初のWebサイトのiisproxy.ini
で定義された同じWebLogic Serverインスタンスにプロキシされます。
IIS 6.0以降の場合、各仮想ディレクトリに対して個別のアプリケーション・プールを作成します。
「アプリケーション・プールの作成(IIS 6.)」(http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/93275ef2-2f85-4eb1-8b92-a67545be11b4.mspx?mfr=true
)で説明されているように、異なるWebアプリケーションまたはWebサイトをプール内に分離できます。これらのプールはアプリケーション・プールと呼ばれます。アプリケーション・プールでは、プロセス境界が各ワーカー・プロセスをほかのワーカー・プロセスから分離することにより、アプリケーションが1つのアプリケーション・プールにルーティングされるときに別のアプリケーション・プールのアプリケーションがそのアプリケーションに影響を及ぼさないようにします。
次に、クラスタ化されていない1つのWebLogic Serverで使用するサンプルiisproxy.ini
ファイルを示します。先頭に「#」が付いた行はコメントです。
# This file contains initialization name/value pairs # for the IIS/WebLogic plug-in. WebLogicHost=localhost WebLogicPort=7001 ConnectTimeoutSecs=20 ConnectRetrySecs=2
次に、クラスタ化されたWebLogic Serverで使用するサンプルiisproxy.ini
ファイルを示します。先頭に「#」が付いた行はコメントです。
# This file contains initialization name/value pairs # for the IIS/WebLogic plug-in. WebLogicCluster=myweblogic.com:7001,yourweblogic.com:7001 ConnectTimeoutSecs=20 ConnectRetrySecs=2
注意: プラグインとWebLogic Serverの間でSSLを使用する場合は、SSLリスニング・ポートとしてポート番号を定義する必要があります。 |
ACLは、IISからAuthorizationヘッダーが渡されない場合はMicrosoft Internet Information Serverプラグインでは機能しません。次の情報を参考にして、AuthorizationヘッダーがIISによって渡されることを確認してください。
基本認証を使用する場合、ユーザーはローカルのログオン権限でログオンします。基本認証の使用を有効にするには、IISサーバーで各ユーザー・アカウントに「ローカル・ログオン」ユーザー権限を付与します。基本認証のローカル・ログオンを使用する場合、2つの問題が発生する可能性があります。
ユーザーにローカル・ログオン権限がない場合、FrontPage、IIS、およびWindows NTが正しく構成されているように見えても、基本認証は機能しません。
ローカル・ログオン権限があり、IISを実行しているホスト・コンピュータへの物理的なアクセスを取得できるユーザーは、コンソールでの対話セッションの開始を許可されます。
基本認証を有効にするには、コンソールの「ディレクトリ・セキュリティ」タブで、「匿名を許可」がオン、それ以外のオプションがすべてオフになっていることを確認してください。
Microsoft Internet Information Serverプラグインを介してアクセスされるWebLogic Serverアプリケーションを保護するには、境界認証を使用します。
WebLogic IDアサーション・プロバイダは、WebLogic Serverアプリケーションにアクセスする外部システム(Microsoft Internet Information Serverプラグインを介してWebLogic Serverアプリケーションにアクセスするユーザーを含む)のトークンを認証します。プラグインを保護するIDアサーション・プロバイダを、次のように作成します。
WebLogic ServerアプリケーションにカスタムIDアサーション・プロバイダを作成します。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のカスタムIDアサーション・プロバイダの開発方法に関する項を参照してください。
Certトークン・タイプをサポートするようにカスタムIDアサーション・プロバイダを構成し、これをアクティブなトークン・タイプにします。『Oracle WebLogic Serverセキュリティ・プロバイダの開発』の新しいトークン・タイプの作成方法に関する項を参照してください。
Webアプリケーションのweb.xmlデプロイメント記述子ファイルでclientCertProxy
属性を「True」に設定します。(クラスタを使用する場合、必要に応じて、管理コンソールの「クラスタ」--「構成」--「一般」タブで、クラスタ全体に対して「クライアント証明書プロキシの有効化」
属性を「true」に設定します。)『Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発』のcontext-paramを参照してください。
clientCertProxy
を設定したら、Microsoft Internet Information Serverプラグインが動作しているマシンからの接続のみをWebLogic Serverが受け入れるようにします。『Oracle WebLogic Serverセキュリティのプログラミング』のネットワーク接続フィルタの使用方法に関する項を参照してください。
プラグインとWebLogic Serverの間でSSLを使用するには、Webサーバー・プラグインで信頼性のある認証局ファイルが必要になります。Sunのkeytoolユーティリティを使用して、WL_HOME/server/lib
にあるDemoTrust.jks
キーストア・ファイルから信頼性のある認証局ファイルをエクスポートします。
たとえば、wlsdemocaファイルを抽出するには次のコマンドを使用します。
keytool -export -file trustedcafile.der -keystore DemoTrust.jks -alias wlsdemoca
キーストアから別の信頼性のあるCAファイルを取得するには、別名を変更します。
キーストアの信頼されたCAファイルをすべて表示するには、次を使用します。 keytool -list -keystore DemoTrust.jks
パスワードを要求されたら「Enter」を押します。
認証局ファイルをpem形式に変換するには、java utils.der2pem trustedcafile.der
を使用します。
IDアサーション・プロバイダの詳細は、『Oracle WebLogic Serverセキュリティ・プロバイダの開発』のIDアサーション・プロバイダに関する項を参照してください。
Secure Sockets Layer (SSL)プロトコルを使用すると、WebLogic ServerとMicrosoft Internet Information Serverプラグインの間の接続を保護できます。SSLプロトコルによって、Microsoft Internet Information ServerプラグインとWebLogic Serverの間でやり取りされるデータに機密性と整合性がもたらされます。
Microsoft Internet Information Serverプラグインは、プロキシ・プラグインとMicrosoft Internet Information Serverの間の接続が保護にSSLプロトコルが使用されるかどうかを決定する際に、トランスポート・プロトコル(httpまたはhttps)を使用しません。Microsoft Internet Information ServerプラグインでSSLプロトコルを使用するには、プロキシされるリクエストを受け取るWebLogic Serverインスタンスを、SSLプロトコルを使用するように構成します。Microsoft Internet Information Serverプラグインは、セキュアなSSL通信を使用するように構成されたWebLogic Server上のポートを使用してMicrosoft Internet Information Serverと通信します。
Microsoft Internet Information ServerプラグインとWebLogic Serverの間でSSLプロトコルを使用するには:
SSL向けにWebLogic Serverを構成します。詳細は、「SSLの構成」を参照してください。
WebLogic ServerのSSLリスニング・ポートを構成します。詳細は、「SSLの構成」を参照してください。
iisproxy.ini
ファイルのWebLogicPortパラメータを、ステップ2で構成したリスニング・ポートに設定します。
iisproxy.ini
ファイルのSecureProxyパラメータをONに設定します。
SSL接続の情報を定義する追加パラメータをiisproxy.ini
ファイルに設定します。パラメータの詳細なリストは、「Webサーバー・プラグインのSSLパラメータ」を参照してください。
例:
WebLogicHost=myweblogic.com WebLogicPort=7002 SecureProxy=ON
iisforward.dll
がフィルタとして登録されている場合は、サーブレットをパスによってプロキシできます。その場合は、次のようなURLでサーブレットを呼び出します。
http://IISserver/weblogic/myServlet
iisforward.dll
がフィルタとして登録されていない場合にサーブレットをプロキシするには、ファイル・タイプによるサーブレットのプロキシを構成する必要があります。ファイル・タイプによってサーブレットをプロキシするには:
WebLogic ServerにリクエストをプロキシできるようにIISに任意のファイル・タイプ(拡張子)を登録します。詳細は、「Microsoft Internet Information Serverプラグインのインストールと構成」のステップ2を参照してください。
適切なWebアプリケーションにサーブレットを登録します。サーブレットの登録の詳細は、「サーブレットの作成と構成」を参照してください。
このパターンに従った形式のURLでサーブレットを呼び出します。
http://www.myserver.com/virtualName/anyfile.ext
virtualNameは、このサーブレットのWebアプリケーション・デプロイメント記述子(web.xml)の<servlet-mapping>
要素で定義されたURLパターン、extはWebLogic ServerにプロキシするためにIISに登録されたファイル・タイプ(拡張子)です。URLのanyfileの部分は、このコンテキストでは無視されます。
注意: サーブレットから呼び出される画像リンクがWebアプリケーションの一部である場合は、IISに適切なファイル・タイプ(.gifや.jpgなど)を登録して画像に対するリクエストもWebLogic Serverにプロキシする必要があります。ただし、それらの画像はIISから直接提供されるようにすることもできます。プロキシ対象のサーブレットに他のサーブレットを呼び出すリンクがある場合は、そのリンクもステップ3のパターンに従ってWebLogic Serverにプロキシする必要があります。 |
Microsoft Internet Information Serverプラグインをインストールして構成した後は、次の手順に従ってデプロイメントとテストを行います。
WebLogic ServerとIISが動作していることを確認します。
JSPファイルをデフォルトWebアプリケーションのドキュメント・ルートに保存します。
次の例で示されているように、ブラウザを開き、IIS plusファイル名の後に.jspを付けてURLに設定します。
http://myii.server.com/filename.jsp
filename.jspがブラウザに表示されば、プラグインは正常に機能しています。
Microsoft Internet Information Serverプラグインは、WebLogic Serverに接続しようとする際に、複数の構成パラメータを使用してWebLogic Serverホストへの接続の待機時間と、接続確立後のレスポンスの待機時間を決定します。接続できないか、またはレスポンスがない場合、プラグインはクラスタ内の別のWebLogic Serverに接続してリクエストを送信しようとします。接続が失敗するか、またはクラスタ内のいずれのWebLogic Serverインスタンスからもレスポンスがない場合は、エラー・メッセージが送信されます。
図4-15は、プラグインがどのようにフェイルオーバーを処理するのかを示しています。
WebLogic Serverホストが接続リクエストに応答できない場合は、ホスト・マシンやネットワークに問題があるか、またはサーバーに障害があることが考えられます。
クラスタ内のいずれかのWebLogic Serverインスタンスが応答できない場合は、WebLogic Serverが動作していないか利用できない、またはサーバーのハングやデータベースの問題、アプリケーションに障害があるなどの原因が考えられます。
WebLogic Serverが1つのみ動作している場合、プラグインはWebLogicHostパラメータで定義されているサーバーのみに接続しようとします。その試行が失敗すると、HTTP 503エラー・メッセージが戻されます。プラグインは、ConnectTimeoutSecs
およびConnectRetrySecs
パラメータによって規定されたとおりに、WebLogic Serverインスタンスへの接続を試行し続けます。
クラスタリングされたバックエンド・サーバーのリストにプロキシするため、またはクラスタリングされていない管理対象サーバー・インスタンスのロード・バランシングを実行するため、WebLogicCluster
パラメータが必要です。
クラスタリングされた管理対象サーバーにプロキシする場合、httpd.conf
またはweblogic.conf
ファイルでWebLogicCluster
パラメータを使用してWebLogic Serverのリストを指定すると、プラグインはクラスタ・メンバー間でのロード・バランシングの起点としてそのリストを使用します。最初のリクエストがそれらのサーバーの1つに転送された後に、クラスタ内のサーバーの更新されたリストを格納する動的サーバー・リストが戻されます。更新されたリストでは、クラスタ内の新しいサーバーが追加され、クラスタを離脱したサーバーやリクエストに応答できなかったサーバーは削除されます。このリストは、クラスタ内で変化が発生したときにHTTPレスポンスによって自動的に更新されます。
リクエストが、CookieやPOSTデータに格納されているかURLにエンコードされたセッション情報を含む場合、そのセッションIDには、セッションが最初に確立された特定のサーバー・インスタンス(プライマリ・サーバーと呼びます)への参照が含まれています。Cookieを含むリクエストは、プライマリ・サーバーに接続しようとします。その試行が失敗すると、プラグインはラウンド・ロビン方式でリストの次の使用可能なサーバーに接続しようとします。そのサーバーは元のセカンダリ・サーバーからセッションを取得し、その同じセッションのプライマリ・サーバーになります。詳細は、図4-15を参照してください。
注意: POSTデータが64Kを超える場合、プラグインは、セッションIDを取得するためのPOSTデータの解析を行いません。したがって、セッションIDをPOSTデータに格納した場合、プラグインはリクエストを正しいプライマリまたはセカンダリ・サーバーにルーティングできないので、セッション・データが失われるおそれがあります。 |