4 Microsoft IIS Web Server用プラグインの構成
Microsoft IIS Web Server用Oracle WebLogic Serverプロキシ・プラグインをインストールおよび構成するには、「Oracle WebLogic Serverプロキシ・プラグインの入手方法」で説明しているように、IIS Web Server用のOracle WebLogic Serverプロキシ・プラグインをダウンロードします。圧縮ファイルには、次のファイルが含まれています。
表4-1 Microsoft IISプラグインのZipに含まれているファイル
(パス)/ファイル名 | 説明 |
---|---|
README.txt |
このディストリビューションに固有の情報、最新の更新およびその他の正誤表 |
bin/orapki.bat |
Oracleウォレットを構成するためのorapkiツール |
jlib/*.jar |
orapkiヘルパーJavaライブラリ |
iisproxy.dll |
WebLogicプロキシ・モジュール |
lib/*.dll |
ヘルパー・ライブラリ |
WebLogic Serverプロキシ・プラグイン12.2.1.0.0以降のバージョンでは、ビルドはIntelコンパイラからMSVCコンパイラに変わりました。Microsoft IIS Web ServerをWebLogic Serverプロキシ・プラグインのフロント・エンドとして使用する場合、プラグイン・ライブラリは、Microsoftから提供されるmsvcp110.dll
およびmsvcr110.dll
の2つのDLLに依存します。これらのDLLは、x64用のMicrosoft Visual C ++ 2012再頒布可能パッケージで入手可能です。
サポートされているMicrosoft IIS Web Serverの具体的なバージョンの詳細は、Oracle Technology NetworkにあるOracle Fusion Middlewareでサポートされるシステム構成のページを参照してください。
Microsoft Internet Information Serverプラグインのインストールと構成
Microsoft Internet Information Server (IIS)プラグインはMicrosoft WindowsクライアントおよびMicrosoft WindowsサーバーOSでサポートされます。
ユースケースに基づいて、次のトピックを参照してください:
WindowsクライアントOSへのMicrosoft IISプラグインのインストールと構成
Microsoft Internet Information Server (IIS)のプラグインをWindowsクライアントOSにインストールして構成するには、次のステップに従います:
-
Microsoft IISをインストールします。
-
Microsoft IIS の必要な機能がすべて有効になっていることを確認します。
-
「スタート」メニューで、「コントロール パネル」を選択してから、「プログラムと機能」を選択します。
-
「Internet Information Services (IIS) Manager」を選択します。
-
「Windows の機能の有効化または無効化」をクリックします。
-
「Internet Information Services」の下のツリー全体を開き、サブ機能がすべて選択されていることを確認します。
-
-
Oracle WebLogic Serverプロキシ・プラグインの最新のzipファイルをダウンロードしてインストールします。
-
次の内容で
iisproxy.ini
ファイルを%
PLUGIN_HOME
%\lib\
フォルダに作成します。WebLogicHost=
URL_of_WebLogic_Host
WebLogicPort=WebLogic_Port
Debug=ALL DebugConfigInfo=ON WLLogFile=C:\Temp\wl-proxy.log -
%
PLUGIN_HOME
%\lib
フォルダがシステムのPATH
に含まれていることを確認します。(「コントロール パネル」、「システム」、「システム プロパティ」、「環境変数」、「システム プロパティ」、「PATH」の順に選択します。 -
「IIS マネージャー」を開きます。「スタート」、「すべてのプログラム」、「管理ツール」、「インターネット インフォメーション サービス マネージャ マネージャー」の順に選択します。
-
IISに新しいWebサイトを作成します。詳細は、IISヘルプ・システムを参照してください。
-
サイト名をクリックし、ハンドラー マッピングを開いて、スクリプト・マップを追加します(「要求パス」に
.jsp
などの値を設定し、「実行可能ファイル」に%
PLUGIN_HOME
%\lib
\iisproxy.dll
を設定し、「名前」に値を割り当てます)。 -
「MIME の種類」をクリックして、MIMEの種類が拡張子に定義されていることを確認します。MIMEの種類とその定義(ない場合)を追加します。
-
サイト名をクリックし、「ディレクトリの参照」を開いて機能を有効にします。
-
IISを起動します。コマンド・プロンプトで
services.msc
と入力し、下部にあるWorld Wide Web発行サービスに移動して再起動します。さらに、Webサイトを再起動します。 -
リクエストをブラウザから
http://
iishost
:iisport
/application_name
/
に送信して構成をテストし、レスポンスを検証します。ここで、
iishost
は、IISサーバーのURL、iisport
はポート番号になります。iisport
番号が、WebLogic Serverのポート番号と異なることに注意してください。
IISでの静的ファイルの提供
WLSプラグインを構成して機能することを確認した後(「Microsoft Internet Information Serverプラグインのインストールと構成」を参照)、次のステップを実行して、静的ファイルを提供します。
IISでの同じリクエストからの静的ファイルおよび動的コンテンツの提供
IISからのリクエスト「http://localhost:80/console
」およびバックエンドWebLogic Serverからのその他の動的コンテンツに対して、*.gif
や*.png
イメージなどの静的ファイルを提供するとします。「IISでの静的ファイルの提供」の他に次のステップを実行します。
-
「IISでの静的ファイルの提供」で説明するステップを実行します。
-
「デフォルトWebサイト」を右クリックして「仮想ディレクトリの追加」をクリックし、「仮想ディレクトリの追加」ダイアログ・ボックスに次の内容を入力します。
-
エイリアス:
console
-
物理パス:
C:\
path_to_the_wls_plug-in
\console
この例では、consoleの物理パスは
C:\OHS_Plugin_IIS\console
になります。「OK」をクリックします。「デフォルトWebサイト」の左ペインに
「console」
エントリが表示されます。 -
-
「デフォルトWebサイト」にある「console」をクリックします。右側に「consoleホーム」が開きます。
-
「consoleホーム」ペインで「ハンドラー マッピング」をクリックします。
-
「StaticFile」を右クリックし、「編集」を選択します。「モジュール マップの編集」ダイアログ・ボックスでフィールドを次のように更新します。
-
要求パス: *.png (つまり、「*」を「*.png」に変更)
-
モジュール: StaticFileModule, DefaultDocumentModule, DirectoryListingModule (デフォルト)
-
実行可能ファイル: 不要。空白のままにしておきます。
-
名前: StaticFile (ここでの名前変更は不可)
-
-
「要求の制限」をクリックします。「要求の制限」ダイアログ・ボックスの「マップ」タブで、「要求のマップ先が次の場合のみハンドラを呼び出す」を選択した場合、「ファイル」または「フォルダー」を選択します。「OK」→「OK」をクリックしてダイアログ・ボックスを閉じます。
前述のステップでは、IISサーバーから*.pngを提供します。
-
*.gifファイルなど、他のイメージ・ファイルを提供するには、次の手順を実行します。
-
「Consoleホーム」で「ハンドラー マッピング」をクリックし、右側で「モジュール マップの追加」をクリックして、次の内容を入力します。
要求パス: *.gif
モジュール: StaticFileModule, DefaultDocumentModule, DirectoryListingModule
実行可能ファイル: 不要。空白のままにしておきます
名前: StaticFileForGIF
-
「要求の制限」をクリックします。「マップ」で、「要求のマップ先が次の場合のみハンドラを呼び出す」を選択していることを確認し、「ファイル」または「フォルダー」を選択して、「OK」→「OK」をクリックします
-
-
ハンドラの順序を調整します。
-
「既定の Web サイト」で「console」をクリックして、右側で「ハンドラー マッピング」、「順序指定された一覧の表示」の順にクリックします
-
「proxy」を選択して、「proxy」が「StaticFile」と「StaticFileForGIF」の下になるまで移動します。つまり、順序は次のようになります。
StaticFile StaticFileForGIF proxy
-
-
http://loclhost:
<iis-port>
/console
リクエストに属する静的ファイルをすべてWebLogic ServerからIISにコピーします。 -
サービスを再起動してから、Webサイトを再起動します。
イメージ(*.png
および*.gif
)がIISで提供され、動的コンテンツがWeblogicサーバーで提供されるようになりました。
たとえば、リクエストhttp://localhost:80/console
の場合、コンソールのイメージはIISで提供され、*.png
や*.gif
以外のリクエストはすべてWeblogic Serverで提供されます。
ワイルドカード・アプリケーション・マッピングを使用したパスによるプロキシ
リクエストしたファイルの拡張子に関係なく、Webサイトまたは仮想ディレクトリへのすべてのリクエストの開始時にInternet Server API (ISAPI)アプリケーションを実行するように該当のWebサイトまたは仮想ディレクトリを構成できます。この機能を使用することで、iisproxy.dllにマッピングを挿入し、パスによってWebLogic Serverへリクエストをプロキシできます。
IIS用のワイルドカード・スクリプト・マップの追加
次に示すステップは、IIS向けの「Add a Wildcard Script Map」(http://technet.microsoft.com/en-us/library/cc754606(WS.10).aspx
)で説明されている、IISでワイルドカード・スクリプト・マップを追加し、ISAPIを使用してパスによってプロキシする方法をまとめたものです。
ノート:
同じIISサイト内の複数のIISアプリケーションにリクエストをプロキシする場合は、後続リクエストが最初のWebサイトにしかプロキシされない状態にならないように、各IISアプリケーションを作成して、それぞれに一意のアプリケーション・プールを割り当てます。
IIS 7.xでは、アプリケーション・プールを仮想ディレクトリに割り当てることはできません。
複数の仮想Webサイトからの様々なWebLogic Serverへのリクエストのプロキシ
仮想ディレクトリとは、IISで指定するディレクトリ名(パス)であり、ローカルまたはリモート・サーバー上の物理ディレクトリにマップされます。仮想ディレクトリ名はURIの一部になります。バック・サーバーの詳細をiisproxy.ini
ファイルに指定することで、異なるURIを異なるWebLogicバック・エンド・サーバーにマップできます。
複数のWebサイト(IISで仮想ディレクトリとして定義)から様々なWebLogic Serverへリクエストをプロキシする手順は次のとおりです:
ノート:
/console
、/ShoppingCart
、/forms
、/reports
、/ords
、/i
など、コンテキスト・ルートごとに1つの仮想ディレクトリが必要です。IISでは仮想ディレクトリのエイリアスによって要求がフィルタ処理されます。
iisproxy.iniファイルのサンプル
クラスタ化されていない単一の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リスニング・ポートとして定義する必要があります。