Oracle® Fusion Middleware Oracle WebLogic ServerにおけるWebサーバー1.1プラグインの使い方 11g リリース1 (10.3.4) B61009-02 |
|
前 |
次 |
次の項では、Microsoft Internet Information Serverプラグインをインストールして構成する方法を説明します。
Microsoft Internet Information Serverプラグインをインストールするには:
「バージョン1.1プラグインのダウンロード」の説明に従って、Microsoft Internet Information Serverプラグインをダウンロードします。
IISからアクセス可能な簡便なディレクトリにiisproxy.dllファイルをコピーします。このディレクトリには、ステップ6で作成するiisproxy.ini
ファイルも含まれている必要があります。
IISを実行するユーザーの名前を含めるために、iisproxy.dll
ファイルのユーザー権限を設定します。これを実行する1つの方法として、iisproxy.dll
ファイルを右クリックし、権限を選択して、IISを実行するユーザーの名前を追加してください。
ファイル拡張子(MIMEタイプ)によるプロキシを構成する場合は、次の手順を実行します。(MIMEタイプによるプロキシに加えて、またはそのかわりに、パスによるプロキシも構成できます。ステップ5を参照してください。)
「スタート」メニューからIIS (Internet Information Service) Managerを選択して、起動します。
「サービス・マネージャ」の左側のパネルで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拡張」チェック・ボックスをオフにしないでください。 |
パスによるプロキシを構成する場合、「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照してください。
WebLogic Serverで、iisproxy.ini
ファイルを作成します。
iisproxy.ini
ファイルには、プラグインの構成パラメータを定義する名前=値
ペアを格納します。パラメータのリストについては、「Webサーバー・プラグインの一般的なパラメータ」を参照してください。
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 Managerコンソールを使用して、プラグインを有効にしてください。
IIS Managerコンソールを起動します。
「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ノードをクリックします(図5-5を参照)。
「ハンドラ・マッピング」をクリックして、特定のMIMEタイプのハンドラのマッピングを設定します。
「StaticFile」をクリックし、リクエスト・パスを*から*.*に変更します。「OK」をクリックします。
MyAppをクリックして、右側のメニュー・オプションのスクリプト・マップの追加をクリックします。リクエスト・パスに*を入力します。
iisproxy.dll
ファイルを参照し、実行ファイルとして追加します。proxy
という名前を付けます。
「リクエストの制限」ボタンをクリックし、「リクエストが指定した項目にマップされている場合のみハンドラを呼び出す」ボックスの選択を解除してください。
このハンドラ・マッピングを追加するには、「OK」をクリックします。スクリプト・マップの追加ダイアログ・ボックスの「はい」をクリックします。
パスによるプロキシを構成する場合、「ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ」を参照してください。
IISマネージャ・ツリーのルート・ノードをクリックし、ISAPIとCGIの制限をクリックします。未指定のISAPIモジュールを許可チェック・ボックスを選択します。
次の内容のiisproxy.ini
というファイルを作成し、プラグインのあるディレクトリに置きます。
WebLogicHost= @hostname@ WebLogicPort= @port@ ConnectRetrySecs=5 ConnectTimeoutSecs=25 Debug=ALL DebugConfigInfo=ON KeepAliveEnabled=true WLLogFile=@Log file name@ SecureProxy=OFF
Internet Explorerブラウザを開き、http://<hostname>:<port>
を入力します。Weblogic ServerでMedrecサンプル・アプリケーションが表示されます。
SSLモードでプラグインを実行する場合、WeblogicPort
の値をアプリケーションのSSLポートに変更し、SecureProxy
の値をONに変更します。
「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」を参照してください。
複数のWebサイト(IISで仮想ディレクトリとして定義)からWebLogic Serverへリクエストをプロキシするには:
仮想ディレクトリ用に新しいディレクトリを作成します。このディレクトリには、プロキシを定義するための.dll
および.ini
ファイルが格納されます。
プラグインの.zipファイルの内容をディレクトリに展開します。
構成された仮想ディレクトリごとに、プラグインの\lib
フォルダの内容をステップ1で作成したディレクトリにコピーします。
「リクエストのプロキシ」に記載されているように、仮想Webサイトに対してiisproxy.ini
ファイルを作成します。このiispoxy.ini
ファイルをステップ1で作成したディレクトリにコピーします。
ステップ1で作成したディレクトリにiisproxy.dll
をコピーします。
各仮想ディレクトリの個別のアプリケーション・プールを作成します。
アプリケーション・プールの作成(IIS 6.) (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/93275ef2-2f85-4eb1-8b92-a67545be11b4.mspx?mfr=true
)に関する項で説明されているように、異なるWebアプリケーションまたはWebサイトをプール内に分離できます。これは、アプリケーション・プールと呼ばれます。アプリケーション・プールでは、アプリケーションがあるアプリケーションにルーティングされているときに、他のアプリケーション・プールにあるアプリケーションがそのアプリケーションに影響を及ぼさないように、プロセスの境界は各ワーク・プロセスを他のワーク・プロセスと分離します。
次に、クラスタリングされていない単一の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を実行しているホスト・コンピュータへの物理的なアクセスを取得できるユーザーは、コンソールでの対話セッションの開始を許可されます。
基本認証を有効にするには、コンソールの「ディレクトリ・セキュリティ」タブで、「匿名を許可」がオン、それ以外のオプションがすべてオフになっていることを確認してください。
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がブラウザに表示されば、プラグインは正常に機能しています。