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にインストールして構成するには、次のステップに従います:

  1. Microsoft IISをインストールします。

  2. Microsoft IIS の必要な機能がすべて有効になっていることを確認します。

    1. 「スタート」メニューで、「コントロール パネル」を選択してから、「プログラムと機能」を選択します。

    2. 「Internet Information Services (IIS) Manager」を選択します。

    3. 「Windows の機能の有効化または無効化」をクリックします。

    4. 「Internet Information Services」の下のツリー全体を開き、サブ機能がすべて選択されていることを確認します。

      図4-1 Internet Information ServicesのWindows機能

      図4-1の説明は図の下のリンクをクリックしてください。
      「図4-1 Internet Information ServicesのWindows機能」の説明
  3. Oracle WebLogic Serverプロキシ・プラグインの最新のzipファイルをダウンロードしてインストールします。

  4. 次の内容でiisproxy.iniファイルを%PLUGIN_HOME%\lib\フォルダに作成します。

    WebLogicHost=URL_of_WebLogic_Host
        WebLogicPort=WebLogic_Port
        Debug=ALL
        DebugConfigInfo=ON
        WLLogFile=C:\Temp\wl-proxy.log
    
  5. %PLUGIN_HOME%\libフォルダがシステムのPATHに含まれていることを確認します。(「コントロール パネル」「システム」「システム プロパティ」「環境変数」「システム プロパティ」「PATH」の順に選択します。

  6. 「IIS マネージャー」を開きます。「スタート」「すべてのプログラム」「管理ツール」「インターネット インフォメーション サービス マネージャ マネージャー」の順に選択します。

  7. IISに新しいWebサイトを作成します。詳細は、IISヘルプ・システムを参照してください。

  8. サイト名をクリックし、ハンドラー マッピングを開いて、スクリプト・マップを追加します(「要求パス」.jspなどの値を設定し、「実行可能ファイル」%PLUGIN_HOME%\lib\iisproxy.dllを設定し、「名前」に値を割り当てます)。

  9. 「MIME の種類」をクリックして、MIMEの種類が拡張子に定義されていることを確認します。MIMEの種類とその定義(ない場合)を追加します。

  10. サイト名をクリックし、「ディレクトリの参照」を開いて機能を有効にします。

  11. IISを起動します。コマンド・プロンプトでservices.mscと入力し、下部にあるWorld Wide Web発行サービスに移動して再起動します。さらに、Webサイトを再起動します。

    図4-2 Windowsのサービス・ウィンドウ

    図4-2の説明が続きます
    「図4-2 Windowsのサービス・ウィンドウ」の説明
  12. リクエストをブラウザからhttp://iishost:iisport/application_name/に送信して構成をテストし、レスポンスを検証します。

    ここで、iishostは、IISサーバーのURL、iisportはポート番号になります。iisport番号が、WebLogic Serverのポート番号と異なることに注意してください。

WindowsサーバーOSへのMicrosoft IISプラグインのインストールと構成

Microsoft Internet Information Server (IIS)のプラグインをWindowsサーバーOSにインストールして構成するには、次のステップに従います:

  1. 「サーバー マネージャー」を開きます。「管理」をクリックし、「役割と機能の追加」をクリックします。これで、役割と機能の追加ウィザードが開きます。
  2. 「開始する前に」ページで「次」をクリックします。
  3. インストール・タイプとして「役割ベースまたは機能ベースのインストール」を選択し、「次」をクリックします。
  4. 「対象サーバーの選択」ページで、適切なサーバーを選択します。デフォルトではローカル・サーバーが選択されています。「次」をクリックします。
  5. 「役割」のリストで「Webサーバー(IIS)」を有効にし、「次」をクリックします。
  6. 確認ウィンドウで「機能の追加」をクリックして、Webサーバー(IIS)に必要な機能を追加します。
  7. Webアダプタのインストールに必要な追加の機能はないため、「機能の選択」ページでは「次」をクリックします。
  8. 「Webサーバーの役割(IIS)」ダイアログ・ボックスで「次」をクリックします。
  9. 「役割サービスの選択」ダイアログ・ボックスで、下に示されているWebサーバー・コンポーネントが有効になっていることを確認し、「次」をクリックします。
  10. 設定が正しいことを確認し、「インストール」をクリックします。
  11. インストールが完了したら、「閉じる」をクリックしてウィザードを終了します。
  12. Oracle WebLogic Serverプロキシ・プラグインの最新のzipファイルをダウンロードしてインストールします。
  13. 次の内容でiisproxy.iniファイルを%PLUGIN_HOME%\lib\フォルダに作成します。
    WebLogicHost=URL_of_WebLogic_Host
        WebLogicPort=WebLogic_Port
        Debug=ALL
        DebugConfigInfo=ON
        WLLogFile=C:\Temp\wl-proxy.log
    
  14. %PLUGIN_HOME%\libフォルダがシステムのPATHに含まれていることを確認します。(「コントロール パネル」「システム」「システム プロパティ」「環境変数」「システム プロパティ」「PATH」の順に選択します。
  15. 「IIS マネージャー」を開きます。「スタート」「すべてのプログラム」「管理ツール」「インターネット インフォメーション サービス マネージャ マネージャー」の順に選択します。
  16. IISに新しいWebサイトを作成します。詳細は、IISヘルプ・システムを参照してください。
  17. サイト名をクリックし、ハンドラー マッピングを開いて、スクリプト・マップを追加します(「要求パス」.jspなどの値を設定し、「実行可能ファイル」%PLUGIN_HOME%\lib\iisproxy.dllを設定し、「名前」に値を割り当てます)。
  18. 「MIME の種類」をクリックして、MIMEの種類が拡張子に定義されていることを確認します。MIMEの種類とその定義(ない場合)を追加します。
  19. サイト名をクリックし、「ディレクトリの参照」を開いて機能を有効にします。
  20. IISを起動します。コマンド・プロンプトでservices.mscと入力し、下部にあるWorld Wide Web発行サービスに移動して再起動します。さらに、Webサイトを再起動します。

    図4-3 Windowsのサービス・ウィンドウ

    図4-3の説明は図の下のリンクをクリックしてください。
    「図4-3 Windowsのサービス・ウィンドウ」の説明
  21. リクエストをブラウザからhttp://iishost:iisport/application_name/に送信して構成をテストし、レスポンスを検証します。
    ここで、iishostは、IISサーバーのURL、iisportはポート番号になります。iisport番号が、WebLogic Serverのポート番号と異なることに注意してください。

IISでの静的ファイルの提供

WLSプラグインを構成して機能することを確認した後(「Microsoft Internet Information Serverプラグインのインストールと構成」を参照)、次のステップを実行して、静的ファイルを提供します。

  1. 「既定の Web サイト」を右クリックして、「仮想ディレクトリの追加」をクリックします。
  2. 「エイリアス」フィールドで、staticと入力し、物理パスを静的ファイルの場所(c:\inetpub\wwwroot\staticなど)に設定します。「OK」をクリックします。staticフォルダが「既定の Web サイト」に表示されます。

    ノート: ファイルを別の場所に配置した場合、物理パスが異なることがあります。パスを適宜変更します。

  3. 「既定の Web サイト」「static」をクリックして、staticホーム・ページを開きます。
  4. staticホーム・ページで、「ハンドラー マッピング」をクリックして、右ペインで「順序指定された一覧の表示」をクリックします。「ハンドラー マッピング」の順序指定されたリストが表示されます。
  5. 「スクリプト マップの追加」をクリックします。「要求パス」を「*」に設定し、「実行可能ファイル」%PLUGIN_HOME%\lib\iisproxy.dllに設定して、値proxy「名前」に割り当てます。「OK」をクリックします。
  6. 「順序指定された一覧の表示」をクリックして、ハンドラのリストを並べ替えます。
  7. 「proxy」スクリプト・マップをクリックして、StaticFileハンドラ・マッピングの下に移動します。(つまり、StaticFileハンドラ・マッピングがproxyハンドラ・マッピングの上に表示されます。)
  8. c:\inetpub\wwwrootの下にstaticフォルダを作成し、このフォルダ内にHTMLファイル(index.htmlなど)をコピーします。
  9. サービスの下のWorld Wide Web Publishing Serviceを再起動して、IIS を再起動します。
  10. 作業をテストします。http://localhost:80/static/index.htmlにアクセスして、index.htmlファイルにアクセスします。

IISでの同じリクエストからの静的ファイルおよび動的コンテンツの提供

IISからのリクエスト「http://localhost:80/console」およびバックエンドWebLogic Serverからのその他の動的コンテンツに対して、*.gif*.pngイメージなどの静的ファイルを提供するとします。「IISでの静的ファイルの提供」の他に次のステップを実行します。

  1. 「IISでの静的ファイルの提供」で説明するステップを実行します。

  2. 「デフォルトWebサイト」を右クリックして「仮想ディレクトリの追加」をクリックし、「仮想ディレクトリの追加」ダイアログ・ボックスに次の内容を入力します。

    • エイリアス: console

    • 物理パス: C:\path_to_the_wls_plug-in\console

    この例では、consoleの物理パスはC:\OHS_Plugin_IIS\consoleになります。

    「OK」をクリックします。「デフォルトWebサイト」の左ペインに「console」エントリが表示されます。

  3. 「デフォルトWebサイト」にある「console」をクリックします。右側に「consoleホーム」が開きます。

  4. 「consoleホーム」ペインで「ハンドラー マッピング」をクリックします。

  5. 「StaticFile」を右クリックし、「編集」を選択します。「モジュール マップの編集」ダイアログ・ボックスでフィールドを次のように更新します。

    • 要求パス: *.png (つまり、「*」を「*.png」に変更)

    • モジュール: StaticFileModule, DefaultDocumentModule, DirectoryListingModule (デフォルト)

    • 実行可能ファイル: 不要。空白のままにしておきます。

    • 名前: StaticFile (ここでの名前変更は不可)

  6. 「要求の制限」をクリックします。「要求の制限」ダイアログ・ボックスの「マップ」タブで、「要求のマップ先が次の場合のみハンドラを呼び出す」を選択した場合、「ファイル」または「フォルダー」を選択します。「OK」「OK」をクリックしてダイアログ・ボックスを閉じます。

    前述のステップでは、IISサーバーから*.pngを提供します。

  7. *.gifファイルなど、他のイメージ・ファイルを提供するには、次の手順を実行します。

    1. 「Consoleホーム」で「ハンドラー マッピング」をクリックし、右側で「モジュール マップの追加」をクリックして、次の内容を入力します。

      要求パス: *.gif

      モジュール: StaticFileModule, DefaultDocumentModule, DirectoryListingModule

      実行可能ファイル: 不要。空白のままにしておきます

      名前: StaticFileForGIF

    2. 「要求の制限」をクリックします。「マップ」で、「要求のマップ先が次の場合のみハンドラを呼び出す」を選択していることを確認し、「ファイル」または「フォルダー」を選択して、「OK」→「OK」をクリックします

  8. ハンドラの順序を調整します。

    1. 「既定の Web サイト」で「console」をクリックして、右側で「ハンドラー マッピング」、「順序指定された一覧の表示」の順にクリックします

    2. 「proxy」を選択して、「proxy」が「StaticFile」と「StaticFileForGIF」の下になるまで移動します。つまり、順序は次のようになります。

      StaticFile
      StaticFileForGIF
      proxy
  9. http://loclhost:<iis-port>/consoleリクエストに属する静的ファイルをすべてWebLogic ServerからIISにコピーします。

  10. サービスを再起動してから、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を使用してパスによってプロキシする方法をまとめたものです。

  1. IISマネージャーを開き、管理するレベルに移動します。

    IISマネージャーを開く方法の詳細は、http://technet.microsoft.com/en-us/library/cc770472(WS.10).aspx「Open IIS Manager」を参照してください。

    UIでの場所移動の詳細は、http://technet.microsoft.com/en-us/library/cc732920(WS.10).aspx「Navigation in IIS Manager」を参照してください。

  2. サーバー、サイトまたはアプリケーション・ホームページの「機能ビュー」で、「ハンドラー マッピング」をダブルクリックします。
  3. 「ハンドラー マッピング」ページの「操作」ペインで、「ワイルドカード スクリプト マップの追加」をクリックします。
  4. 「実行可能ファイル」テキスト・ボックスで、フルパスを入力するか、リクエストを処理するiisproxy.dllを参照します。たとえば、systemroot\system32\inetsrv\iisproxy.dllと入力します。
  5. 「名前」テキスト・ボックスに、ハンドラ・マッピングのわかりやすい名前を入力します。
  6. 「OK」をクリックします。
  7. 必要に応じて、「ハンドラー マッピング」ページで、ロックまたはロック解除するためにハンドラを選択します。ハンドラ・マッピングをロックすると、それを構成内の下位レベルでオーバーライドできなくなります。リストからハンドラ・マッピングを選択し、「操作」ペインで「ロック」または「ロック解除」をクリックします。
  8. ワイルドカード・スクリプト・マップを追加した後、実行可能ファイルを「ISAPI および CGI の制限」リストに追加して、実行できるようにする必要があります。ISAPIおよびCGIの制限の詳細は、http://technet.microsoft.com/en-us/library/cc730912(WS.10).aspx「Configuring ISAPI and CGI Restrictions」を参照してください。

ノート:

同じ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では仮想ディレクトリのエイリアスによって要求がフィルタ処理されます。
  1. それぞれの仮想ディレクトリ用に新しいディレクトリを作成します。
  2. Webサイトの仮想ディレクトリを作成します。これを行うには:
    1. Webサイトを右クリックします。
    2. 「仮想ディレクトリの追加」をクリックします。
    3. Webサイトの「エイリアス」を指定します。たとえば、consoleです。
    4. ステップ1で作成した新しいディレクトリの絶対パスを「物理パス」フィールドに指定します。
    5. 「OK」をクリックします。
  3. プラグインの.zipファイルをディレクトリに解凍します。
  4. 構成した各仮想ディレクトリについて、ステップ1で作成したディレクトリに、プラグインの\libフォルダの内容をコピーします。
  5. 「iisproxy.iniファイルのサンプル」の説明に従って、仮想Webサイトのためのiisproxy.iniファイルを作成します。
  6. ステップ1で作成したディレクトリに、iisproxy.iniファイルをコピーします。
  7. 左側のナビゲーション・ペインでWebサイトの下の仮想ディレクトリをクリックします。これによって、仮想ディレクトリのホームが開かれます。
  8. 仮想ディレクトリのホーム・ページで「ハンドラー マッピング」をクリックします。
  9. 右側のペインで「スクリプト マップの追加」をクリックし、次を実行します:
    1. 「要求パス」*を設定します。
    2. 「実行可能ファイル」に、ステップ4でディレクトリにコピーしたiisproxy.dllの絶対パスを設定します。
    3. このマッピングの「名前」を指定します。
    4. 「要求の制限」をクリックします。「要求の制限」ダイアログ・ボックスの「マッピング」タブで、「要求のマップ先が次の場合のみハンドラーを呼び出す」が選択されていないことを確認して、「OK」をクリックします。
    5. 「スクリプト マップの追加」ウィンドウで「OK」をクリックします。
    6. 確認ダイアログ・ボックスで「はい」をクリックします。
  10. WebサイトのURLにアクセスします。次に例を示します:
    http://localhost:80/console

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リスニング・ポートとして定義する必要があります。

IISを介したACLの作成

ACLは、IISによってAuthorizationヘッダーが渡されない場合、Microsoft IIS Web Server用Oracle WebLogic Serverプロキシ・プラグイン12c (12.2.1.4.0)では機能しません。次の情報を参考にして、IISによって必ずAuthorizationヘッダーが渡されるようにしてください。

  1. 基本認証を使用する場合、ユーザーがローカルのログオン権限でログオンすることを確認します。
  2. IISサーバーで、ローカル・ログオン・ユーザー権限を、各ユーザー・アカウントに付与します。基本認証の使用を有効にするには、基本認証のローカル・ログオンの使用で2つの問題が発生する可能性があります。
    • ユーザーにローカル・ログオン権限がない場合は、FrontPage、IISおよびWindows NTが正しく構成されているように見えるとしても、基本認証は機能しません。

    • ローカル・ログオン権限があり、IISを実行するホスト・コンピュータに実際にアクセスできるユーザーが、コンソールで対話型セッションを開始できます。

  3. 基本認証を有効にするには、コンソールの「ディレクトリ・セキュリティ」タブで、「匿名を許可」がオン、それ以外のオプションがすべてオフになっていることを確認してください。

インストールのテスト

次のステップに従い、Microsoft IISプラグインのインストール、構成およびデプロイが正常に行われたことを確認します。

  1. WebLogic ServerとIISが実行されていることを確認します。
  2. JSPファイルをデフォルトWebアプリケーションのドキュメント・ルートに保存します。
  3. ブラウザを開き、次の例に示すように、IISにfilename.jspを加えた形式でURLを設定します。
    http://myiis.server.com/filename.jsp
    

    filename.jspがブラウザに表示されれば、プラグインは正常に機能しています。