ヘッダーをスキップ
Oracle Fusion Middleware Oracle HTTP Server管理者ガイド
11g リリース1 (11.1.1)
B55928-06
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

A サード・パーティのWebサーバーに対するOracleプラグインの使用

この付録では、Oracle Fusion Middlewareコンポーネントをサード・パーティのHTTPリスナーと組み合せて使用するためのOracle Proxy Plug-InおよびOracle SSO Plug-Inの使用方法について説明します。


注意:

特に他に記載のないかぎり、このドキュメントに収められている情報は、Oracle HTTP ServerがOracle WebLogic ServerおよびOracle Fusion Middleware Controlにインストールされている場合に適用できます。このドキュメントの対象読者は、『Oracle Fusion Middlewareコンセプト・ガイド』および『Oracle Fusion Middleware管理者ガイド』の説明に従ってOracle Fusion Middlewareの主要概念を十分に理解しておく必要があります。

スタンドアロン・モードでのOracle HTTP Serverのインストールについては、『Oracle Fusion Middleware Oracle Web Tierインストレーション・ガイド』のスタンドアロン・モードでのOracle Web Tierのインストールに関する項を参照してください。


この付録では、次の項目について説明します。

該当する場合は、Apache Software Foundationのドキュメントを参照しています。

A.1 Oracle Proxy Plug-Inの使用

Oracle Proxy Plug-Inにより、サード・パーティのHTTPリスナーからのリクエストをOracle Fusion Middlewareにプロキシまたは送信できます。Oracle Proxy Plug-Inは、UNIXおよびMicrosoft Windowsシステム上のSun Java System Web Server Enterprise Edition、またはMicrosoft Internet Information Server(IIS)v6.0および7.0とともに動作するように提供されたもので、その動作が保証されています。

その他のサード・パーティのHTTPリスナーには、各リスナーのネイティブ・プロキシ機能を使用できます。


関連項目:

詳細な動作保証情報は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlを参照してください。


この項の内容は、次のとおりです。

A.1.1 Oracle Proxy Plug-Inの概要

Oracle Proxy Plug-InはリバースHTTPプロキシです。プラグインは、Sun Java SystemまたはMicrosoft IISサーバーのHTTPリスナーからの受信HTTPリクエストをOracle Fusion Middlewareインスタンスに転送します(図A-1を参照)。

図A-1 Oracle Proxy Plug-In

図A-1の説明が続きます
「図A-1 Oracle Proxy Plug-In」の説明

プロキシの仕組みは、サード・パーティのHTTPリスナーによりロードされる共有ライブラリであり、プラグインとして提供されます。プラグインは、サード・パーティのリスナーとともに提供されるAPIを使用して、モジュールがOracle HTTP Serverで使用されるのとほぼ同じ方法で、HTTPリクエストを直接処理します。

Oracle HTTP Serverでは、サード・パーティのリスナーで使用されているアドレスとポートを擬似実行できます。Oracle HTTP Serverにリクエストを送信するときに、リクエストの送信先である実際のホスト名とポートとは異なるHost: HTTPヘッダーを送信するように、プロキシを構成できます。これにより、他のアプリケーションはリバース・プロキシから保護されます。

Oracle Proxy Plug-Inはロード・バランシングを実行しません。特定のURLに対してリクエストを単一のバックエンドOracle HTTP Serverに送信するのみです。また、Oracle Proxy Plug-Inはサード・パーティのリスナーとOracle HTTP Serverの間のSSLをサポートしていません。

A.1.2 Oracle Proxy Plug-Inのインストール

Sun Java System WebサーバーおよびMicrosoft IIS用のOracle Proxy Plug-Inは、Oracle Fusion Middleware Web Tier and Utilitiesインストーラ(11.1.1.2以降のフル・インストーラ、パッチセットのインストーラではない)で使用できます。サード・パーティのリスナーがアクセスできるディレクトリに、適切な定義ファイルと共有ライブラリを格納します。

表A-1に、OracleAS Proxy Plug-Inの共有ライブラリに関する情報を示します。

表A-1 Oracle Proxy Plug-Inの共有ライブラリ

リスナー 場所および説明

Sun Java System Webサーバー

CD-ROM上の場所:

  • UNIX: /Disk1/plugins/sjsws/oracle_proxy.so

  • Microsoft Windows: \Disk1\plugins\sjsws\oracle_proxy_nes.dll

リスナーのプラグインをインストールするには、リスナーが読取り権限と実行権限を持つUNIXのディレクトリ、またはアクセス可能なMicrosoft Windowsのディレクトリに、.dllファイルをコピーします。

Microsoft IIS

CD-ROM上の場所: \Disk1\plugins\iis\oracle_proxy.dll

リスナー用のプラグインをインストールするには、リスナーがアクセスできるディレクトリにoracle_proxy.dllをコピーします。


A.1.3 Oracle Proxy Plug-Inの構成

Oracle Proxy Plug-Inには、プロキシ機能を制御するプロキシ定義ファイルが1つあります。Webサーバーのファイル・システムにこのファイルが存在すると、プロキシ機能が有効になります。また、サード・パーティのリスナー固有の構成ファイル(Sun Java System WebサーバーやMicrosoft IISの構成ファイルなど)を変更して、そのリスナーに対してプラグインを有効にする必要があります。Oracle Proxy Plug-Inの定義ファイルは、どのような名前でもかまいません。

A.1.3.1 プロキシ・サーバー定義ファイル

プロキシ・サーバー定義ファイルは、サード・パーティのリスナーが読取り可能なディレクトリに置く必要があります。たとえば、システム上の任意のディレクトリ内にproxyというディレクトリを作成し、プロキシ・サーバー定義ファイル、プロキシ共有ライブラリ・ファイルおよびプロキシ・ログ・ファイルを配置します。

プロキシ・サーバー定義ファイルには、次のパラメータが含まれます。

  • リクエストをOracle Fusion Middlewareにプロキシするために使用されるサーバーを記述する名前/値ペア

  • サーバーとの通信用のオプション

  • URLをサーバーにマップするルールのセット

このファイルは、任意のテキスト・エディタで作成できます。

A.1.3.2 プロキシ定義ファイルのパラメータ

プロキシ定義ファイルでは、次のプロキシ・パラメータが使用されます。

A.1.3.2.1 oproxy.serverlist

プラグインで認識可能なサーバー名をすべてリストします。

カテゴリ

使用可能な値

リクエストの送信先となるOracle HTTP Serverごとに1つのサーバー名をカンマで区切ったリスト。サーバー・リスト内のすべてのサーバーは、ファイルにも定義する必要があります。

注意: Oracle Proxy Plug-Inではロード・バランシングが実行されないため、同じurlruleで2つのサーバーを定義した場合、リクエストはそのうちの1つのみに転送されます。

デフォルト値

なし。プロキシを機能させるには、少なくとも1つはサーバー名を指定する必要があります。

oproxy.serverlist=ohs1,ohs2


A.1.3.2.2 oproxy.servername.hostname

特定のサーバーとの通信時に使用するホスト名を定義します。

カテゴリ

使用可能な値

有効なホスト名

デフォルト値

なし

oproxy.ohs1.hostname=host1.acme.com


A.1.3.2.3 oproxy.servername.port

特定のサーバーとの通信時に使用するポートを定義します。

カテゴリ

使用可能な値

ポート値

デフォルト値

80

oproxy.ohs1.port=7777


A.1.3.2.4 oproxy.servername.alias

クライアントからサード・パーティのHTTPリスナーへのアクセスに使用するホスト名とポートを定義して、プロキシの別名機能をサポートします。このパラメータを定義すると、この値がHost: HTTPヘッダーとして渡されます。定義しない場合は、実際に通信先となるシステムのホスト名とポートが送信されます。

カテゴリ

使用可能な値

host:port

oproxy.ohs1.alias=www.example.com:80


A.1.3.2.5 oproxy.servername.resolveall

ホスト名を解決するために、すべてのリクエストについてプロキシ・プラグインをバックエンド・サーバーに送ります。これにより、プロキシ・プラグインとバックエンド・サーバー間のDNSベースのフェイルオーバーまたはルーティングが可能になります。このパラメータを使用すると、すべての受信リクエストについてDNSサーバーへの送信が必要になるため、ホスト名からIPアドレスへのマッピングが動的に変わる場合のみ使用してください。

カテゴリ

使用可能な値

true | false

デフォルト値

false

oproxy.ohs1.resolveall=true


A.1.3.2.6 oproxy.servername.urlrule

このサーバーにリダイレクトされるURLまたはURLセットを記述します。指定したサーバーには、任意の数のurlruleプロパティを割り当てることができます。

カテゴリ

oproxy.ohs1.urlrule=/foo/*


次のタイプのルールを使用できます。

  • 完全一致: 1つのURLが1つのサーバーにマップされます。例:

    oproxy.ohs1.urlrule=/foo/bar/foo.html

    この例では、URL /foo/bar/foo.htmlのみがマップされます。これは、サーバーohs1のプロキシになります。

  • コンテキスト一致: 共通の接頭辞またはコンテキストを持つURLのセットが、1つのサーバーにマップされます。例:

    oproxy.ohs1.urlrule=/foo/*

    この例では、/fooで始まるURLがサーバーohs1にマップされます。

    コンテキスト一致の場合は、stripcontextオプションとurlruleパラメータを使用して、ワイルドカードの後のURL部分のみをサーバーに送信できます。stripcontextオプションのデフォルトはfalseで、trueに設定しないかぎり指定する必要はありません。次の例では、わかりやすくするためにfalseを指定しています。

    パラメータ URLリクエスト 結果
    oproxy.ohs1.urlrule=/foo/*
    oproxy.ohs1.stripcontext=true
    
    http://hostname/foo/header1.gif
    
    ORACLE_INSTANCE/config/OHS/component_name/htdocs/header1.gif
    
    oproxy.ohs1.urlrule=/foo/*
    oproxy.ohs1.stripcontext=false
    
    http://hostname/foo/header1.gif
    
    ORACLE_INSTANCE/config/OHS/component_name/htdocs/foo/header1.gif
    

  • 拡張子一致: 共通のファイル拡張子を持つファイルが、すべて1つのサーバーにマップされます。

    例:

    oproxy.ohs1.urlrule=/*.jsp

    この例では、末尾が.jspのURLがすべてサーバーohs1にマップされます。これをコンテキスト・ルールと組み合せて/foo/bar/*.jspと指定できます。この場合、/foo/barで始まって.jspで終わるURLのみがプロキシされます。


注意:

oproxy.servername.urlruleの場合、同じURLに複数のルールが適用されると次の優先順位が適用されます。

  1. 完全一致

  2. 最長のコンテキスト一致と拡張子一致

  3. 最長のコンテキスト一致

優先順位の例を次に示します。

  • /foo/bar/index.htmlは、/foo/bar/*より優先

  • /foo/bar/*.jspは、/foo/bar/*より優先

  • /foo/bar/*は、/foo/*より優先


A.1.3.3 Oracle Proxy Plug-Inの動作の定義

プロキシ・サーバー定義ファイル内で、プラグインのプロキシとして使用するサーバーとURLを定義します。

  1. 次のように、ファイルの1行目にプラグインで使用できるすべてのサーバーのリストを指定します。

    oproxy.serverlist=ohs1,ohs2
    
  2. Fusion Middleware Controlまたはopmnctlコマンドライン・ユーティリティを使用して、Oracle HTTP Serverポートを表示します。このポート番号は次の手順で使用します。

  3. 各サーバーの関連プロパティ(ホスト名、ポートおよびサーバー別名)を設定します。例:

    oproxy.ohs1.hostname=host1.acme.com.us.example.com
    oproxy.ohs1.port=7777
    oproxy.ohs1.alias=www.example.com
    

    ホスト名は必須です。別名の値を指定しないと、ホスト名とポートの組合せが使用されます。別名により、バックエンド・サーバーは、クライアントからサード・パーティのリスナーに配信されるHTTPのHostヘッダーと完全一致のヘッダーを持つリクエストを受信できます。

  4. urlruleパラメータを設定して、サーバー間のリダイレクションを指定します。たとえば、このルールでは、プロキシに対するすべての受信リクエストがサーバーohs1のWebサーバーにマップされます。

    oproxy.ohs1.urlrule=/*
    

例A-1は、サンプルのプロキシ・サーバー定義ファイルです。

例A-1 サンプル・プロキシ・サーバー定義ファイル

# This file defines proxy server behavior.
#
# Server names that the proxy plug-in will recognize.
oproxy.serverlist=ohs1

# Hostname to use when communicating with a specific server.
oproxy.ohs1.hostname=host1.acme.com

# Port to use when communicating with a specific server.
oproxy.ohs1.port=7777

# URL(s) that will be redirected to this server.
oproxy.ohs1.urlrule=/*

A.1.4 Oracle Proxy Plug-Inを使用するためのSun Java System Webサーバーの構成

この項では、UNIXおよびMicrosoft Windowsプラットフォーム上のSun Java System Webサーバーに対してプロキシ・プラグインを構成する手順について説明します。

Sun Java System Webサーバーのデフォルト構成ファイルでは、/servletの受信するすべてのURIリクエストを、Sun Java Systemサーブレット・ハンドラにルーティングします。Oracle Proxy Plug-Inは、Sun Java Systemサーバーの構成設定をオーバーライドしません。Oracle Proxy Plug-InへのURLマッピングとSun Java Systemサーブレット・エンジンへのURLマッピングは、必ず異なるようにします。

Microsoft WindowsでSun Java System Webサーバーを構成する場合、すべてのパスでフォワード・スラッシュ(/)を使用してください。

  1. Sun Java System Webサーバーのバージョン6.1またはバージョン7.0の/configディレクトリにあるmagnus.confファイルを開きます。

  2. オペレーティング・システムに応じて、次のload-modules行を追加します。

    • UNIXの場合:

      Init fn="load-modules" shlib="/path/oracle_proxy.so" funcs=op_init,op_objecttype,op_service
      
    • Microsoft Windowsの場合:

      Init fn="load-modules" shlib="/path/oracle_proxy_nes.dll" funcs=op_init,op_objecttype,op_service
      

    これらの行で、pathはプラグインの共有ライブラリのパスです。これは、プロキシ共有ライブラリの場所、およびこのライブラリによって公開される関数をリスナーに示します。

  3. 次の構成パラメータを追加します。

    Init fn="op_init" server_defs="/path/to/proxy/definition/file" log_file="/path/to/proxy/log/file" log_level=loglevel
    

    例:

    Init fn="op_init" server_defs="/oracle/proxyplugin/proxydefs" log_file="/oracle/proxyplugin/oproxy.log" log_level=error
    

    プロキシ・サーバーの定義ファイルには、サーバーがプロキシ・プラグインと通信するためのすべての構成情報が含まれます。定義ファイルには任意の名前を使用できます。

    プラグインからのメッセージを記録するためのログ・ファイルとログ・レベルを指定できます。これはオプションです。


    関連項目:

    詳細な説明と例は、A.1.3.1項「プロキシ・サーバー定義ファイル」を参照してください。


  4. obj.confファイルの<Object name=default>セクションで、ObjectTypeという語で始まる他のすべての行の前に、次の行を追加します。

    ObjectType fn=op_objecttype
    
  5. Serviceという語で始まる他のすべての行の前に、次の行を追加します。

    Service type="oracle/proxy" fn="op_service"
    
  6. ファイルを保存します。

  7. Sun Java System WebサーバーGUIまたはシェル・スクリプトを使用して、リスナーを起動します。

A.1.5 Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成

この項では、Microsoft Windowsプラットフォーム上のMicrosoft IIS 6.0リスナーに対してプロキシ・プラグインを構成する手順について説明します。この手順では、Microsoft Windowsレジストリ・エントリを作成し、Microsoft IIS 6.0管理コンソールを使用してディレクトリおよびフィルタを追加します。プラグインの構成後にリスナーを再起動する必要があります。

プラグインを構成するには、次の手順を実行します。

  1. Microsoft Windowsレジストリ エディタを使用して、新しいレジストリ・エントリを作成します。

    1. 「スタート」メニューから「ファイル名を指定して実行」を選択し、ダイアログ・ボックスにregeditと入力して「OK」をクリックします。「レジストリ エディタ」ウィンドウが表示されます。

    2. 「レジストリ エディタ」ウィンドウで、名前の前のプラス記号(+)をクリックしてHKEY_LOCAL_MACHINEフォルダを開きます。

    3. 名前の前のプラス記号(+)をクリックしてSOFTWAREフォルダを開き、「ORACLE」フォルダをクリックします。

    4. 「編集」メニューの「新規」「キー」を選択します。ORACLEフォルダの下に「新しいキー #1」という名前の新規フォルダが追加されます。

    5. キー名としてIIS Proxy Adapterを入力します。

    6. 「編集」メニューの「新規」「文字列値」を選択します。新しい値が「New Value #1」という名前の右ウィンドウ・ペインに追加されます。値の名前にserver_defsと入力します。

    7. 「編集」メニューの「修正」を選択します。「文字列の編集」ダイアログ・ボックスが表示されます。

    8. 「値のデータ」フィールドにプロキシ・サーバー定義ファイルのフルパスを入力して、「OK」をクリックします。

    9. オプションで、d.)からh.)に示した手順を使用して、log_fileおよびlog_levelを指定できます。

      • 名前log_fileとログ・ファイルの格納場所(d:\proxy\proxy.logなど)を指定する文字列値を追加します。

      • 名前log_levelと必要なログ・レベルを指定する文字列値を追加します。有効な値は、debuginformerrorおよびemergです。

    10. 「ファイル」メニューから「レジストリ エディタの終了」を選択して、「レジストリ エディタ」ウィンドウを閉じます。

  2. Microsoft IIS管理コンソールを使用し、oracle_proxy.dllと同じ物理パスを指定して、Microsoft IIS Webサイトに新規の仮想ディレクトリを追加します。

    1. 「スタート」「プログラム」「管理ツール」「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

    2. サーバー名の前のプラス記号(+)をクリックしてserverフォルダを開きます。

    3. 「デフォルト・サイト」フォルダを右クリックし、メニューから「新規」「Virtual Directory」の順にオプションを選択します。

    4. 「仮想ディレクトリの作成ウィザード」ウィンドウで、「エイリアス」にoproxyを入力します。次に、oracle_proxy.dllファイルが含まれるディレクトリを参照するかそのパス(たとえば、c:\OProxy)を入力し、「ISAPIアプリケーションやCGI等を実行する」チェック・ボックスを選択します。

    5. 「完了」をクリックして、仮想ディレクトリの作成ウィザードを閉じます。

  3. Microsoft IIS管理コンソールを使用し、Microsoft IIS Webサイトにフィルタとしてoracle_proxy.dllを追加します。フィルタ名はoproxyとし、その実行可能ファイルはoracle_proxy.dllファイルを含むディレクトリを指す必要があります。

    1. 「デフォルト・サイト」フォルダを右クリックし、メニューから「プロパティ」オプションを選択します。

    2. 「既定のWebサイトのプロパティ」ウィンドウで、「ISAPIフィルタ」タブを選択します。

    3. 「追加」をクリックして、新しいフィルタを追加します。

      「フィルタのプロパティの追加と編集」ウィンドウが表示されます。

    4. フィルタ名にoproxyを入力します。次に、oracle_proxy.dllファイルが含まれるディレクトリを参照するかそのパス(たとえば、c:\OProxy\oracle_proxy.dll)を入力します。

      iis6_addfilter_p.gifの説明が続きます
      図iis6_addfilter_p.gifの説明

    5. 「OK」をクリックして、「フィルタのプロパティの追加と編集」ウィンドウを閉じます。

    6. 「OK」をクリックして、「既定のWebサイトのプロパティ」ウィンドウを閉じます。

  4. 「server name」フォルダの下の「Webサービス拡張」フォルダをクリックして、「Webサービス拡張」ページを開きます。右パネル内の「すべての不明なISAPI拡張」を選択し、「許可」をクリックします。この項目のステータスが「禁止」から「許可」に変わります。

  5. 「アプリケーション プール」フォルダを選択し、メニューから「プロパティ」オプションを右クリックします。「アプリケーション プールのプロパティ」ウィンドウで「識別」タブを選択し、「定義済み」アイデンティティを「Local System」に変更します。確認ダイアログ・ボックスが表示され、「このアプリケーション プールをローカル システムとして実行しますか?」と尋ねられます。「はい」を選択します。

  6. Microsoft IIS 6.0サーバーを停止してから再起動します。


    注意:

    Microsoft IISを再起動するには、コントロール パネルですべてのMicrosoft IISサービスを停止するか、コンピュータを再起動する必要があります。.dllを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 6.0を再起動する方法では不十分です。


  7. 新しく作成したoproxyフィルタが緑の上矢印でマークされていることを確認します。

A.1.6 Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成

この項では、Microsoft Windowsプラットフォーム上のMicrosoft IIS 7.0リスナーに対してプロキシ・プラグインを構成する手順について説明します。この手順では、Microsoft Windowsレジストリ・エントリを作成し、Microsoft IIS 7.0管理コンソールを使用してディレクトリおよびフィルタを追加します。プラグインの構成後にリスナーを再起動する必要があります。

プラグインを構成するには、次の手順を実行します。

  1. A.1.5項「Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成」のステップ1を実行し、レジストリ エディタを使用してプラグインに新しいレジストリ・エントリを作成します。

  2. Microsoft IIS管理コンソールを使用して、プロキシ・プラグイン・フィルタを追加します。

    1. 「スタート」「プログラム」「管理ツール」「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

    2. サーバー名(たとえば、DSCDAA10-VM6)の前のプラス記号(+)をクリックして、serverフォルダを開きます。

    3. 名前の前のプラス記号(+)をクリックしてSitesフォルダを開きます。

    4. 「既定のWebサイト」アイコンをクリックして、「既定のWebサイトのホーム」ページを開きます。

    5. 「ISAPIフィルタ」アイコンをダブルクリックして「ISAPIフィルタ」ページを開き、次のタスクを完了します。

      • 「操作」ペインで「追加」をクリックして、「ISAPIの追加」ダイアログ・ボックスを開きます。

      • 「フィルタ名」フィールドに、ISAPIフィルタのわかりやすい名前を入力します。

      • 「実行可能ファイル」フィールドに、ISAPIフィルタ・ファイルの場所のファイル・システム・パスを入力するか、省略記号(「...」)ボタンをクリックして、ISAPIフィルタ・ファイルが含まれるフォルダに移動します。

        isapi3_p.gifの説明が続きます
        図isapi3_p.gifの説明

      • 「OK」をクリックします。

  3. 次の手順に従って、新しく追加したISAPIフィルタを構成します。

    1. ナビゲーション・パネルの「既定のWebサイト」アイコンをクリックして、変更可能なアプリケーションに関連するすべての設定を表示します。

    2. 「ハンドラ マッピング」オプションをクリックして、特定のMIMEタイプのハンドラのマッピングを設定します。

    3. 「ハンドラ マッピング」ページの「StaticFile」オプションをクリックし、「モジュール マップの編集」ダイアログ・ボックスで「要求パス」を*.*に変更します。

    4. 「ハンドラ マッピング」ページの「操作」領域で、「スクリプト マップの追加」オプションをクリックします。

    5. 「スクリプト マップの編集」ダイアログ・ボックスで、「要求パス」に*を入力します。「実行可能ファイル」フィールドを使用してoracle_proxy.dllファイルを参照し、これを実行可能ファイルとして追加します。このファイルにproxyという名前を指定します。

    6. 「要求の制限」ボタンをクリックして、「要求の制限」ダイアログ・ボックスを開きます。「要求のマップ先が次の場合のみハンドラを呼び出す」チェック・ボックスを選択解除し、「OK」をクリックしてこのハンドラ・マッピングを追加します。

    7. 「スクリプト マップの追加」ダイアログ・ボックスで「はい」をクリックします。

    IISマネージャ・ツリーのルート・ノードをクリックしてから「ISAPIおよびCGIの制限」をクリックすると、ここに示したようなoracle_proxy.dllのエントリが表示されます。

    [No Description] Allowed C:\proxy\oracle_proxy.dll
    
  4. 「コントロール パネル」の「サービス」を開き、World Wide Web Publishing Serviceをいったん停止して再起動することにより、Microsoft IISサーバーを再起動します。


    注意:

    Microsoft IISを再起動するには、コントロール パネルですべてのMicrosoft IISサービスを停止するか、コンピュータを再起動する必要があります。.dllを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 7.0を再起動する方法では不十分です。


A.1.7 リクエストをOHSにプロキシする際のIISからのファイルの同時処理

前述の手順を使用してOracle Proxy Plugin用にIIS7を構成することにより、リクエストがOHSにのみプロキシされます。状況によっては、リクエストをOHSにプロキシすると同時に、IISからファイルを処理することをお薦めします。そうするためには、プロキシ・プラグインを構成してそれが機能することを確認した後に(A.1.6項「Oracle Proxy Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成」)、次の手順を実行します。

  1. 「既定のWebサイト」を右クリックして、「仮想ディレクトリの追加」をクリックします。

  2. 「エイリアス」フィールドで、staticと入力し、物理パスをc:\inetpub\wwwroot\staticに設定します。「OK」をクリックします。


    注意:

    ファイルを別の場所に配置した場合、物理パスが異なることがあります。それに応じて、パスを変更する必要があります。


    「既定のWebサイト」の下の静的フォルダが表示されます。

  3. 「既定のWebサイト」の下の静的フォルダをクリックします。

    静的ホームページが表示されます。

  4. 静的ホームページの右ペインで、「ハンドラーマッピング」「順序指定された一覧の表示」の順にクリックします。ハンドラ・マッピングの順序指定されたリストが表示されます。

  5. 「プロキシ」をクリックして、StaticFileハンドラ・マッピングの下に移動します(これにより、StaticFileハンドラ・マッピングがプロキシ・ハンドラ・マッピングの上になります)。

  6. c:\inetpub\wwwrootの下に静的フォルダを作成し、このフォルダ内にHTMLファイル(index.htmlなど)をいくつか配置します。

  7. サービスの下のWorld Wide Web Publishing Serviceを再起動して、IIS7を再起動します。

  8. http://localhost:80/static/index.htmlを開いて、index.htmへのアクセスを試行します。

  9. プロキシ・プラグインを介して構成したサイトへのアクセスを試行します。

A.1.8 Oracle Proxy Plug-Inの使用上の注意

この項では、Oracle Proxy Plug-Inの背後で動作するアプリケーションの開発時に注意が必要な開発および使用方法について重点的に説明します。また、その一部は、Oracle Web Cacheの背後で動作するアプリケーションを使用可能にする場合にも適用されます。

  • ネットワークへのエントリ・ポイントとなっているOracle HTTP Serverベースの構成の有無を調べます。

    通常、これが関係するのは、アプリケーションにOracle HTTP Serverへ直接プラグインするモジュールがある場合のみです。具体的には、Oracle HTTP Serverへの接続に基づいて、認証にSSL証明書を使用しているなど、クライアント情報の取得に伴う依存性を調べます。現在、Secure Sockets Layer(SSL)はサポートされていないため、クライアントがSSLを使用してサード・パーティのリスナーに接続しても、そのリスナーからは暗号化されていないHTTPメッセージがOracle HTTP Serverに送信されます.。これは、プラグインの背後にあるコンポーネントにはクライアント証明書を使用できないことを意味します。Oracle Proxy Plug-InとOracle Web Cacheが使用されている場合、環境変数REMOTE_ADDRは明確に保持されていますが、他のクライアント情報は、実際には、クライアントの実際のホストではなく、プロキシが常駐するシステムを示していることがあります。Oracle HTTP ServerがOracle Fusion Middleware用の外部リスナーでない場合は、このような動作を見つけて排除する必要があります。

  • Webサイトへの外部リンクでないかぎり、HTMLにはホスト名を埋め込まないでください。

    これには、静的HTMLページや、サーブレット、JSP、PL/SQLなどにより生成される動的ページが含まれます。Oracle HTTP Serverのサーバー名を取得するコードをすべて検査し、クライアントに返されるページにサーバー名が埋め込まれていないことを確認します。この動作をテストするには、Webクローラ・アプリケーション(スパイダ)を使用してWebサイトのすべてのリンクを走査します。この機能を持つオープン・ソースのツールを使用できます。

  • クライアントにダウンロードされるアプリケーション(アプレットやJavaScriptなど)では、ホストおよびポート情報を返さないようにします。

    ブラウザベースのコードを使用するアプリケーションがある場合は、そのコードに実際にコンテンツを配信するOracle HTTP Serverのホスト名とポートが含まれていないことを確認します。かわりに、サード・パーティのリスナーが使用する、実際にクライアントがアクセス可能なアドレスを含める必要があります。

  • アプリケーション内のすべてのURLを、プロキシで使用できるルール・セットに簡単にマップできるかどうかを確認します。

    アプリケーションに対するすべてのリクエストを適切にプロキシするには、Oracle Proxy Plug-InにそのアプリケーションのURL領域に関する詳細な記述が必要です。Oracle Fusion Middlewareの各アプリケーションでは、そのアプリケーション用にプラグインを構成するために必要なルール・セットを記述する必要があります。このルール・セットには、アプリケーションで生成できるURLをすべて含めてください。プロキシのurlruleパラメータで記述されないURLがアプリケーションにより生成されると、リクエストはサード・パーティのHTTPリスナーにより処理され、「document not found」というエラーが発生することがあります(または、異なるドキュメントがクライアントに配信されることがあります)。

    共通のトップレベル・ディレクトリ(マッピングやイメージに依存するディレクトリ)を使用するアプリケーションの開発者は、次のように準備する必要があります。

    • このような共通リンクを、すでにサード・パーティのリスナーにデプロイされているアプリケーションと競合しないように変更します。

    • ユーザーに対して、必要な内容をサード・パーティのリスナーのディレクトリ構造にコピーするように指示します。パフォーマンス上の理由で、サード・パーティのリスナーで静的な.gifおよび.jpgファイルを処理することをお薦めしますが、これを行うにはサード・パーティのリスナーにそれらのファイルをコピーする必要があります。

A.1.9 Oracle Proxy Plug-Inのトラブルシューティング

この項では、Oracle Proxy Plug-Inに関連する一般的な問題および解決策について説明します。

リスナーを起動できない場合

  • プロキシ・サーバー定義ファイルに問題がないことをチェックします。サーバー・リスト行に指定されている各サーバーを、後からファイル内で定義する必要があります。少なくとも1つはサーバーを定義してください。サーバー名がリストに指定されていても、定義されていなければリスナーが起動しません。プロキシ・サーバー定義ファイルに、入力ミスや引用符の不足がないかどうかを確認します。

  • Sun Java System Webサーバー6.1または6.0の場合: magnus.confファイルにInit行が追加され、obj.confファイルにObjectTypeおよびService行が追加されていることを確認します。

リスナーから適切なURLが返されない場合

  • プロキシ・サーバー定義ファイルの変更内容が保存され、リスナーが再起動していることを確認します。

  • プロキシ・サーバー定義ファイルに入力ミスがないことを確認します。

  • urlruleパラメータが適切に設定されていることを確認し、stripcontextオプションをtrueに設定する必要があるかどうかを判別します。

  • プロキシ・サーバー定義ファイルのserverlist行で、アクセス先となるバックエンド・サーバーが指定されていることを確認します。

  • バックエンド・サーバーが稼働していること、および取得するファイルが存在し、バックエンド・サーバー上でアクセスできることを確認します。

  • プロキシ・サーバー定義ファイル内のhost、portおよびurlruleパラメータで、バックエンド・サーバー上の適切な領域がターゲットとして指定されていることを確認します。

  • クライアント・リクエストが、サード・パーティのリスナー・マシンの適切なポートに送信されていることを確認します。

  • リスナーのログ・ファイル、プロキシ・ログ、バックエンド・サーバーのログをチェックし、リクエストが通過していることを確認します。状況によっては、プロキシ・ログをデバッグ・モードに設定し、リスナーを再起動する必要があります。

プロキシ・サーバー定義ファイルの変更内容が反映されない場合

  • プロキシ・サーバー定義ファイルの変更内容が保存され、リスナーが再起動していることを確認します。

  • Microsoft IISの場合、コントロール パネルでWWW Publishing Serviceを停止してから起動する必要があります。この作業には数分かかる可能性があります。

Microsoft IISリスナーで不完全なページや文字化けが表示される

Sun Java SystemブラウザでMicrosoft IISのページを表示しないでください。

Sun Java System Webサーバー6.1または7.0で解析エラーが発生する

ポートの変更やセキュリティの有効化(SSLの場合)を試行すると、サーバーからエラー・メッセージ「Unable to parse magnus.conf」が返されることがあります。

magnus.confファイル内で、コメントとInit行の前後に追加した行を削除します。

「ファイルが見つかりません」というエラーが発生する場合

存在することがわかっているファイルをコンテキストベースのurlruleパラメータを使用して取得するときに、リスナーから「Not Found」というメッセージが返される場合は、stripcontext=trueを設定する必要があります。

Sun Java System Webサーバーから/servletリクエストとともにサーバー・エラーが返される

Sun Java System Webサーバーのデフォルト構成では、/servletへのすべてのURLリクエストが独自のサーブレット・ハンドラにマップされます。これを修正するには、プロキシ・サーバー定義ファイルを編集するか、Sun Java System Webサーバー構成を変更する必要があります。

部分URLリクエストで予期しない結果が返される場合

Microsoft IISおよびSun Java SystemのサーバーURLは、他と異なる方法でオートコンプリートされます。http://examplehttp://example/およびhttp://example/index.htmlのリクエストでは、どのプラットフォームでも同じ結果が返されるとはかぎりません。oproxy.servername.urlruleパラメータを使用すると、この問題を回避できます。

サーバーから返されるページ上のイメージ・リンクが壊れている場合

プロキシ・サーバー定義ファイル内で正確なurlruleパラメータ(urlrule=/*.htmlなど)を使用している場合、サーバーでは指定のページが取得されます。他のリンクは、ページのインライン・イメージを含めてすべてユーザーに対して禁止されます。stripcontext=trueを指定して正確なurlruleを使用すると、サーバー・エラーが返されます。

予期しないページが表示される場合

クライアント・ブラウザのメモリー・キャッシュを消去します。旧バージョンのSun Java SystemおよびMicrosoft Internet Explorerでは、ページを毎回取得するように設定した場合でも、キャッシュ用のメモリーが割り当てられていない場合でも、キャッシュされたページが使用されます。この動作を機能させるには、ブラウザを再起動する必要があります。予期しないページが表示される場合は、ブラウザをリフレッシュするか、ページを再ロードしてください。

REMOTE_ADDRに予期しないIPアドレスが含まれている場合

通常、REMOTE_ADDRフィールドには、クライアント・システムのIPアドレスが含まれます。一部のURLリクエストの場合は、環境内にプロキシ・サーバーがあると、このフィールドにプロキシ・サーバーのIPアドレスが含まれることがあります。

ネットワークのエントリ・ポイントにリダイレクトされる場合

バックエンド・サーバーがネットワークのエントリ・ポイントへのリダイレクトを返す場合は、ホストおよびポート情報を更新する必要があります。インストール環境に応じて、次のいずれかのオプションを選択してください。最初の方法をお薦めします。

  • Fusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.confファイルに次のディレクティブを設定します。

    UseCanonicalName On 
    ServerName name of listener host 
    Port port of listener host 
    
  • Fusion Middleware Controlの「サーバーの詳細構成」ページを使用して、httpd.confファイルに次のディレクティブを設定します。

    UseCanonicalName port 
    Port port of listener host
    

プロキシ・プラグインのサーバー定義ファイルを次のように編集します。

oproxy.serverName.alias=name of listener host:port of listener host

A.2 Oracle SSO Plug-Inの使用

Oracle SSO Plug-Inは、サード・パーティのリスナー・アプリケーションを、Oracleシングル・サインオン(SSO)インフラストラクチャを使用して保護するように設計されています。Oracle Proxy Plug-Inは、Microsoft Windowsシステム上のMicrosoft Internet Information Server (IIS) v6.0およびv7.0とともに動作するように提供されたもので、その動作が保証されています。


関連項目:

詳細な動作保証情報は、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlを参照してください。


この章の内容は、次のとおりです。

A.2.1 Oracle SSO Plug-Inの概要

Oracle SSO Plug-Inは、Microsoft IIS用のOracleシングル・サインオン(SSO)ソリューションです。このプラグインは、サード・パーティのリスナー・アプリケーションを、SSOインフラストラクチャを使用して保護するように設計されています。Oracle SSO Plug-Inにより、ユーザーはSSOパスワード1つで様々なサード・パーティのリスナー・アプリケーションに対する認証を受けることができます。このようにSSOで保護されたサード・パーティ製リスナー・アプリケーションは、同一のSSOサーバー上で保護されているかぎり、SSO対応のOracle HTTP ServerアプリケーションやOracle SSO対応のレガシー・アプリケーションと統合できます。

Oracle SSO Plug-Inはmod_ossoの簡易版で、その基本機能の一部のみを実装しています。動的認証、グローバル・ログアウト、アイドル・タイムアウト、グローバル・タイムアウトおよびレガシー・アプリケーションのBasic認証などの機能は、現行リリースのOracle SSO Plug-Inには実装されていません。

図A-2は、ユーザーによりOracle SSO Plug-Inで保護されたURLがリクエストされたときの処理を示しています。

図A-2 Oracle SSO Plug-In

図A-2の説明が続きます
「図A-2 Oracle SSO Plug-In」の説明

  1. ユーザーがWebブラウザ経由でURLをリクエストします。

  2. Webサーバーは、そのユーザー用のOracle SSO Plug-In Cookieを検索します。Cookieが存在する場合、Webサーバーはそのユーザーの情報を抽出し、その情報を使用してリクエストされたアプリケーションにユーザーをログインします。

  3. Cookieが存在しない場合、Oracle SSO Plug-Inはそのユーザーをシングル・サインオン・サーバーにリダイレクトします。

  4. シングル・サインオン・サーバーは、ブラウザ内でそれ自身のCookieを検索します。Cookieが存在する場合は、そのCookieを使用して認証します。認証に成功した場合、シングル・サインオン・サーバーはユーザーが認証されたことの印としてブラウザ内にCookieを作成します。Cookieが見つからない場合は、ユーザー名とパスワードでユーザーの認証を試みます。

  5. シングル・サインオン・サーバーは、暗号化されたユーザー情報をOracle SSO Plug-Inに返します。

  6. Oracle SSO Plug-Inはユーザーに対する独自のCookieをブラウザ内に作成し、リクエストされたURLにユーザーをリダイレクトします。

    同じセッション内でユーザーが再度同一または異なるアプリケーションへのアクセスを試みた場合、そのユーザーはユーザー名とパスワードの入力を求められません。アプリケーションは、HTTPヘッダーを使用してOracle SSO Plug-InのセッションCookieからこの情報を取得します。


関連項目:

『Oracle Fusion Middlewareセキュリティ・ガイド』


A.2.2 Oracle SSO Plug-Inのインストール

Microsoft IIS用のOracle Proxy Plug-Inは、Oracle Fusion Middleware Web Tier and Utilitiesインストーラ(11.1.1.2以降のフル・インストーラ、パッチセットのインストーラではない)で使用できます。

場所: \Disk1\plugins\iis\oracle_osso.dll

リスナー用のプラグインをインストールするには、リスナーがアクセスできるディレクトリにoracle_osso.dllをコピーします。セキュリティ上の理由から、プラグイン・ライブラリに最小限の権限を与えます。

Oracle Fusion MiddlewareがインストールされているシステムにOracle SSO Plug-Inをインストールします。このインストールは、ネットワークおよびセキュリティに依存するライブラリとシングル・サインオン登録ツールに対してのみ必要です。サーバーは実行中である必要はありません。

A.2.3 Oracle Single Sign-On Serverへの登録

シングル・サインオンの登録処理により、シングル・サインオン・サーバーとリスナーは、通信の前に、サーバーの位置、プロトコルのバージョンおよび共通暗号鍵などの情報を共有できるようになります。登録処理後、この情報はシングル・サインオンのパートナ・アプリケーション・エントリとしてシングル・サインオン・サーバー側に格納されます。リスナー側には、osso_confというシングル・サインオン・ファイルが作成されます。osso_confファイルは、セキュリティの目的で不明瞭化されています。このファイルをリスナーがアクセスできるように適切な場所にコピーします。


関連項目:

Oracleシングル・サインオンへの登録方法の詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。


A.2.4 Oracle SSO Plug-Inの構成

Oracle SSO Plug-Inを構成するには、osso_plugin.confファイルなどの構成ファイルを作成する必要があります。このファイルは、サード・パーティのリスナーが読取り可能なディレクトリに置く必要があります。ファイル内にすべてのプラグイン機能を定義します。このファイルは、ossoプロパティ・ファイルとも呼ばれます。このファイルには次の内容が含まれます。

  • LoginServerFileおよびIpCheckなどのプラグイン・ディレクティブ

  • 保護の対象となるリソースに一致するルールのセット

A.2.4.1 Oracle SSO Plug-Inのディレクティブ

表A-2に、Oracle SSO Plug-Inの構成ディレクティブを示します。

表A-2 Oracle SSO Plug-Inの構成ディレクティブ

ディレクティブ 機能

LoginServerFile

SSO登録処理で得られるosso.confファイルなどのシングル・サインオン・サーバー構成ファイルの場所を指定します。

これはグローバル・パラメータであり、リソース単位では使用しないでください。用意するシングル・サインオン・サーバー構成ファイルは、1つのみです。

  • 値: シングル・サインオン・サーバー構成ファイルのフルパス

  • デフォルト: なし

  • 例: LoginServerFile=c:\OSSO\config\osso.conf

IpCheck

Cookieの検査時に、Oracle SSO Plug-Inで各リクエストのIPアドレスをチェックする必要があるかどうかを指定します。IpCheckをtrueに設定すると、他者によるCookieへのアクセスを防止できます。

  • 値: true | false

  • デフォルト: false

  • 例: IpCheck=true

注意: Sun Java Systemサーバーとクライアントのブラウザ間にプロキシ・サーバーまたはファイアウォールがある場合は、IpCheckをfalseに設定してください。


A.2.4.2 リソースを保護するためのルール

Oracle SSO Plug-Inを介してリソース保護を確実に行うには、一連のルールを定義する必要があります。ルールは、次の形式に従って定義します。

<OSSO url-matching-rule>
  SSO_configuration_directives
</OSSO>

url-matching-ruleの定義には次のルールを使用します。

ルール名 説明

完全一致

このオプションでは、ファイルを保護対象リソースとして識別します(例: /examples/hello.html)。

コンテキスト一致

このオプションでは、ディレクトリを保護対象リソースとして識別します(例: /examples/*)。

拡張子一致

このオプションでは、特定のディレクトリ内で特定の拡張子を持つファイルを保護対象リソースとして識別します(例: /examples/*.jsp)。


同じURLに複数のルールを適用すると、次の優先順位が適用されます。

  1. 完全一致

  2. 最長のコンテキスト一致と拡張子一致

  3. 最長のコンテキスト一致

優先順位の例を次に示します。

  • /foo/bar/index.htmlは、/foo/bar/*より優先

  • /foo/bar/*.jspは、/foo/bar/*より優先

  • /foo/bar/*は、/foo/*より優先

例A-2は、リソース保護のためのコマンドを含む単純なファイルを示しています。この例では、/private/hello.htmlファイルに対してIpCheckディレクティブがfalseに設定されていますが、/private2/*.jspに対してはtrueに設定されています。この設定により、/private2/*.jspファイルへのリクエストで使用されるCookieに別のユーザーがアクセスできないようにします。

例A-2 単純なシングル・サインオン構成ファイルosso_plugin.conf

LoginServerFile=c:\OSSO\conf\osso.conf
<OSSO /private/hello.html>
  IpCheck=false
</OSSO>
<OSSO /private1/*>
</OSSO>
<OSSO /private2/*.jsp>
  IpCheck=true
</OSSO> 

A.2.5 Oracleシングル・サインオンを使用するためのMicrosoft IIS 6.0リスナーの構成

この項では、Oracle SSO Plug-Inを使用するためのMicrosoft IIS 6.0リスナーの構成手順について説明します。このプラグインは、単一の.dllファイル(oracle_osso.dll)で構成されています。プラグインをインストールするには、Microsoft IIS 6.0が常駐するホストに.dllをコピーして、次の手順を実行します。

  1. Microsoft Windowsレジストリ エディタを使用して、新しいレジストリ・エントリを作成します。

    1. 「スタート」メニューから「ファイル名を指定して実行」を選択し、ダイアログ・ボックスにregeditと入力して「OK」をクリックします。「レジストリ エディタ」ウィンドウが表示されます。

    2. 「レジストリ エディタ」ウィンドウで、名前の前のプラス記号(+)をクリックしてHKEY_LOCAL_MACHINEフォルダを開きます。

    3. 名前の前のプラス記号(+)をクリックしてSOFTWAREフォルダを開き、「ORACLE」フォルダをクリックします。

    4. 「編集」メニューの「新規」「キー」を選択します。ORACLEフォルダの下に「新しいキー #1」という名前の新規フォルダが追加されます。

    5. キー名としてIIS OSSO Adapterを入力します。

    6. 「編集」メニューの「新規」「文字列値」を選択します。新しい値が「New Value #1」という名前の右ウィンドウ・ペインに追加されます。値の名前にcfg_fileと入力します。

    7. 「編集」メニューの「修正」を選択します。「文字列の編集」ダイアログ・ボックスが表示されます。

    8. 「値のデータ」フィールドに、作成したOSSO Plug-In構成ファイルのフルパス(たとえば、c:\osso\osso_plugin.conf)を入力します。


      注意:

      これはプラグイン構成ファイルであり、SSO登録処理で生成される暗号化されたosso.conf fileではありません。


    9. オプションで、d.)からh.)に示した手順を使用して、log_fileおよびlog_levelを指定できます。

      • 名前log_fileとログ・ファイルの格納場所(c:\osss\osso_plugin.logなど)を指定する文字列値を追加します。

      • 名前log_levelと必要なログ・レベルを指定する文字列値を追加します。有効な値は、debuginformerrorおよびemergです。

    10. 「ファイル」メニューから「レジストリ エディタの終了」を選択して、「レジストリ エディタ」ウィンドウを閉じます。

  2. Microsoft IIS管理コンソールを使用し、osso.dllと同じ物理パスを指定して、Microsoft IIS Webサイトに新規の仮想ディレクトリを追加します。

    1. 「スタート」「プログラム」「管理ツール」「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

    2. サーバー名の前のプラス記号(+)をクリックしてserverフォルダを開きます。

    3. 「デフォルト・サイト」フォルダを右クリックし、メニューから「新規」「Virtual Directory」の順にオプションを選択します。

    4. 「仮想ディレクトリの作成ウィザード」ウィンドウで、「エイリアス」にossoを入力します。次に、oracle_osso.dllファイルが含まれるディレクトリを参照するかそのパス(たとえば、c:\osso)を入力し、「ISAPIアプリケーションやCGI等を実行する」チェック・ボックスを選択します。

    5. 「完了」をクリックして、仮想ディレクトリの作成ウィザードを閉じます。

  3. Microsoft IIS管理コンソールを使用し、Microsoft IIS Webサイトにフィルタとしてoracle_osso.dllを追加します。フィルタ名はossoとし、その実行可能ファイルはoracle_osso.dllファイルを含むディレクトリを指す必要があります。

    1. 「デフォルト・サイト」フォルダを右クリックし、メニューから「プロパティ」オプションを選択します。

    2. 「既定のWebサイトのプロパティ」ウィンドウで、「ISAPIフィルタ」タブを選択します。

    3. 「追加」をクリックして、新しいフィルタを追加します。

      「フィルタのプロパティの追加と編集」ウィンドウが表示されます。

    4. 「フィルタ名」フィールドに、フィルタ名のossoを入力します。

    5. 「実行可能ファイル」フィールドに、oracle_osso.dllが含まれる場所のパス(たとえば、c:\osso\oracle_osso.dll)を入力するか、省略記号(「...」)ボタンをクリックして、oracle_osso.dllファイルが含まれるフォルダに移動します。

      iis6_addfilter_osso.gifの説明が続きます
      図iis6_addfilter_osso.gifの説明

    6. 「OK」をクリックして、「フィルタのプロパティの追加と編集」ウィンドウを閉じます。

    7. 「OK」をクリックして、「既定のWebサイトのプロパティ」ウィンドウを閉じます。

  4. Oracleホーム・ディレクトリのセキュリティ設定を構成します。必ず管理者ユーザーとしてマシンにログインしてください。

    1. Windowsエクスプローラで「ORACLE_HOME\bin」フォルダを右クリックし、メニューから「プロパティ」を選択してから「セキュリティ」タブをクリックします。

    2. 「読み取りと実行」権限を指定してIIS_WPG、NETWORKおよびNETWORK SERVICEグループを追加します。

    3. 「OK」をクリックします。

  5. Microsoft IIS 6.0サーバーを停止してから再起動します。


注意:

  • Microsoft IIS 6.0を再起動するには、コントロール パネルですべてのMicrosoft IIS 6.0サービスを停止するか、コンピュータを再起動する必要があります。.dllファイルを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 6.0を再起動する方法では不十分です。

  • 同じホームに複数のOracleインストールが必要な場合、Oracle SSO Plug-Inとともに使用するインストールのORACLE_HOME\bin PATHエントリが、PATHの先頭になるように指定してください。

  • 新しく追加したISAPIフィルタが緑の上矢印でマークされていることを確認します。


A.2.6 Oracleシングル・サインオンを使用するためのMicrosoft IIS 7.0リスナーの構成

この項では、Oracle SSO Plug-Inを使用するためのMicrosoft IIS 7.0リスナーの構成手順について説明します。このプラグインは、単一の.dllファイル(oracle_osso.dll)で構成されています。プラグインをインストールするには、Microsoft IIS 7.0が常駐するホストに.dllをコピーして、次の手順を実行します。

  1. A.2.5項「Oracleシングル・サインオンを使用するためのMicrosoft IIS 6.0リスナーの構成」のステップ1を実行し、Microsoft Windowsレジストリ エディタを使用してプラグインに新しいレジストリ・エントリを作成します。

  2. Microsoft IIS管理コンソールを使用し、Microsoft IIS Webサイトにフィルタとしてoracle_osso.dllを追加します。

    1. 「スタート」「プログラム」「管理ツール」「インターネット インフォメーション サービス(IIS)マネージャ」をクリックして、IISマネージャを開きます。

    2. サーバー名(たとえば、DSCDAA10-VM6)の前のプラス記号(+)をクリックして、serverフォルダを開きます。

    3. 名前の前のプラス記号(+)をクリックしてSitesフォルダを開きます。

    4. 「既定のWebサイト」アイコンをクリックして、「既定のWebサイトのホーム」ページを開きます。

    5. 「ISAPIフィルタ」アイコンをダブルクリックして「ISAPIフィルタ」ページを開き、次のタスクを完了します。

      • 「操作」ペインで「追加」をクリックして、「ISAPIの追加」ダイアログ・ボックスを開きます。

      • 「フィルタ名」フィールドにossoを入力します。

      • 「実行可能ファイル」フィールドに、oracle_osso.dllが含まれる場所のファイル・システム・パス(たとえば、c:\osso\oracle_osso.dll)を入力するか、省略記号(「...」)ボタンをクリックして、oracle_osso.dllファイルが含まれるフォルダに移動します。

        isapi3_osso.gifの説明が続きます
        図isapi3_osso.gifの説明

      • 「OK」をクリックします。

  3. Oracleホーム・ディレクトリのセキュリティ設定を構成します。必ず管理者ユーザーとしてマシンにログインしてください。

    1. Windowsエクスプローラで「ORACLE_HOME\bin」フォルダを右クリックし、メニューから「プロパティ」を選択してから「セキュリティ」タブをクリックします。

    2. 「読み取りと実行」権限を指定してIIS_WPG、NETWORKおよびNETWORK SERVICEグループを追加します。

    3. 「OK」をクリックします。

  4. 「コントロール パネル」の「サービス」を開き、World Wide Web Publishing Serviceをいったん停止して再起動することにより、Microsoft IISサーバーを再起動します。


注意:

  • Microsoft IIS 7.0を再起動するには、「コントロール パネル」の「サービス」ですべてのMicrosoft IIS 7.0サービスを停止するか、コンピュータを再起動する必要があります。.dllファイルを確実に再ロードさせるのは、この方法のみです。管理コンソール経由でMicrosoft IIS 7.0を再起動する方法では不十分です。

  • 同じホームに複数のOracleインストールが必要な場合、Oracle SSO Plug-Inとともに使用するインストールのORACLE_HOME\bin PATHエントリが、PATHの先頭になるように指定してください。


A.2.7 Oracle SSO Plug-Inのトラブルシューティング

この項では、一般的な問題および解決策について説明します。

Oracle依存性ライブラリが見つからない場合

パスにORACLE_HOMEを含めていない可能性があります。

解決策

UNIXの場合、ライブラリ・パス変数にORACLE_HOME/libが含まれていることを確認します。Microsoft Windowsの場合、パスにORACLE_HOME\binが含まれていることを確認します。

osso.logファイルで引き続きこのメッセージを受け取る場合は、A.2.4項「Oracle SSO Plug-Inの構成」の説明に従って、すべての構成ファイルが正しく構成されていることを確認します。

Microsoft IIS用Oracle SSO Plug-InがHTML認証で機能しない場合

Oracle SSO Plug-Inは、他の認証モジュールと連動しない設計になっています。認証は、ネイティブなリスナー認証モジュールまたはサード・パーティ・モジュールのいずれかです。