ホスト名を解決するために、すべてのリクエストについてプロキシ・プラグインをバックエン ド・サーバーに送ります。これにより、プロキシ・プラグインとバックエンド・サーバー間の DNSベースのフェイルオーバーまたはルーティングが可能になります。このパラメータを使用 すると、すべての受信リクエストについてDNSサーバーへの送信のコストが発生するため、ホ スト名からIPアドレスへのマッピングが動的に変わる場合のみ使用してください。
oproxy.servername.urlrule
このサーバーにリダイレクトされるURLまたはURLセットを記述します。指定したサーバー には、任意の数のurlruleプロパティを割り当てることができます。
完全一致、コンテキスト一致または拡張子一致という3種類のルールを使用できます。
■ 完全一致完全一致完全一致完全一致: 1つのURLが1つのサーバーにマップされます。
例:
oproxy.ias1.urlrule=/foo/bar/foo.htmlでは、プロキシされるURL
/foo/bar/foo.htmlのみがサーバーias1にマップされます(サーバーias1の詳細 は、サーバーの構成ファイル内で構成されます)。
■ コンテキスト一致コンテキスト一致コンテキスト一致コンテキスト一致: 共通の接頭辞またはコンテキストを持つURLのセットが、すべて1つ のサーバーにマップされます。たとえば、oproxy.ias1.urlrule=/foo/*では、/foo で始まるURLがサーバーias1にマップされます。
コンテキスト一致の場合は、stripcontextオプションとurlruleパラメータを使用して、
ワイルドカードの後のurl部分のみをサーバーに送信できます。stripcontextオプションの デフォルトはfalseで、trueに設定しないかぎり指定する必要はありません。次の例では、
わかりやすくするためにfalseを指定しています。
例: 次の構成の場合について考えます。
oproxy.ias1.urlrule=/ias1/*
oproxy.ias1.stripcontext=false 次のURLリクエストがあるとします。
http://hostname/ias1/header1.gif
このリクエストで、次のファイルが取得されます。
ORACLE_HOME/Apache/Apache/htdocs/ias1/header1.gif 次の構成の場合について考えます。
oproxy.ias1.urlrule=/ias1/*
oproxy.ias1.stripcontext=true 次のURLリクエストがあるとします。
カテゴリカテゴリ
カテゴリカテゴリ 値値値値
使用可能な値 trueまたはfalse デフォルト値 false
例 oproxy.ias1.resolveall=true
カテゴリ カテゴリ カテゴリ
カテゴリ 値値値値 パラメータ・タイプ 文字列
例 oproxy.ias1.urlrule=/foo/*
OracleAS Proxy Plug-inの構成
このリクエストで、次のファイルが取得されます。
ORACLE_HOME/Apache/Apache/htdocs/header1.gif
■ 拡張子一致拡張子一致拡張子一致拡張子一致: 共通のファイル拡張子を持つファイルが、すべて1つのサーバーにマップされ ます。
たとえば、oproxy.ias1.urlrule=/*.jspでは、末尾が.jspのURLがすべてサー バーias1にマップされます。これをコンテキスト・ルールと組み合せて
/foo/bar/*.jspのように指定できます。この場合、/foo/barで始まって.jspで終わ るURLのみがプロキシされます。
OracleAS Proxy Plug-in の動作の定義 の動作の定義 の動作の定義 の動作の定義
プロキシ・サーバー定義ファイル内で、プラグインにプロキシするサーバーとURLを定義しま す。
1. ファイルの1行目に、プラグインで使用できるすべてのサーバーのリストを指定します。
次に例を示します。
oproxy.serverlist=ias1,ias2
2. 各サーバーの関連プロパティ(ホスト名、ポートおよびサーバー別名)を設定します。次 に例を示します。
oproxy.ias1.hostname=myhost.us.oracle.com oproxy.ias1.port=7777
oproxy.ias1.alias=www.oracle.com
ホスト名は必須です。ポートを指定しないと、80が割り当てられます。別名の値を指定し ないと、指定したホスト名とポートの組合せが使用されます。別名により、バックエン ド・サーバーは、クライアントからサード・パーティのリスナーに配信されるHTTPの
Host: ヘッダーと完全一致のヘッダーを持つリクエストを受信できます。
3. urlruleパラメータを設定して、サーバー間のリダイレクションを指定します。たとえ ば、次のルールがあるとします。
oproxy.ias1.urlrule=/*
このルールでは、プロキシされるすべての受信リクエストがサーバーias1のWebサー バーにマップされます。これらのルールは、URLの完全一致、コンテキスト一致または拡 張子ベースという3つの形式で指定できます。完全一致の場合は、次のように1つのURL が1つのサーバーに厳密にマップされます。
oproxy.ias1.urlrule=/my/path/index.html
この例では、/my/path/index.htmlへのアクセスのみがプロキシ用にマップされます。
注意 注意 注意
注意: oproxy.servername.urlruleの場合、同じURLに複数のルール が適用されると次の優先順位が適用されます。
1. 完全一致
2. 最長のコンテキスト一致と拡張子一致 3. 最長のコンテキスト一致
優先順位の例を次に示します。
/foo/bar/index.htmlは、/foo/bar/*より優先 /foo/bar/*.jspは、/foo/bar/*より優先 /foo/bar/*は、/foo/*より優先
OracleAS Proxy Plug-inを使用するためのSun ONEリスナーの構成
この例では、/app1で始まるURLがすべてマップされます。次のような拡張子ベースの ルールがあるとします。
oproxy.ias1.urlrule=/*.jsp
この例では、末尾が.jspのURLがすべてマップされます。
マップされたURLに送信されるすべてのリクエストは、HTTP/1.1経由で指定のサーバー にプロキシされます。
OracleAS Proxy Plug-in を使用するための を使用するための を使用するための を使用するための Sun ONE リスナーの構成 リスナーの構成 リスナーの構成 リスナーの構成
この項では、UNIXおよびWindowsシステム上のSun ONE Enterprise Serverリスナーに関す るプロキシ・プラグインの構成手順について説明します。
1. Sun ONEリスナーの/configディレクトリで、magnus.confファイル(バージョン6)
またはobj.conf(バージョン4)を開きます。
2. load-modules行を追加します。
UNIXの場合:
Init fn="load-modules" shlib="/path/oracle_proxy.so"
funcs=op_init,op_objecttype,op_service
Windowsの場合:
Init fn="load-modules" shlib="/path/oracle_proxy_sunone.dll"
funcs=op_init,op_objecttype,op_service
/path/は、プラグインの共有ライブラリへのパスです。この行では、リスナーに対して
プロキシ共有ライブラリの格納場所と、このライブラリで公開されているファンクション が示されています。
3. 構成パラメータ行を追加します。
Init fn="op_init" server_defs="/path/servers" log_file="/path/oproxy.log"
log_level=error
/path/は、プロキシ・サーバー定義ファイルとログ・ファイルへのパスです。プロキシ・
サーバー定義ファイルには、プロキシ・プラグインで通信可能なサーバーに関するすべて の構成情報が含まれています。プラグインからのメッセージを記録するためのログ・ファ イルとログ・レベルも指定できます(オプション)。
4. obj.confファイルの<Object name=default>セクションで、ObjectTypeで始まる 他のすべての行の前に次の行を追加します。
ObjectType fn=op_objecttype 注意
注意 注意
注意: Windows上でSun ONEリスナーを構成する場合は、すべてのパス
にスラッシュ(/)を使用してください。
Sun ONEのデフォルト構成ファイルでは、URI /servletに対するすべ
ての受信リクエストがSun ONEのサーブレット・ハンドラにルーティン グされます。Sun ONEサーバーの構成の設定がOracleAS Proxy Plug-in により上書きされることはありません。OracleAS Proxy Plug-inへのURL マッピングが、Sun ONEサーブレット・エンジンへのURLマッピングと は異なることを確認する必要があります。
関連項目関連項目
関連項目関連項目: 詳細および例は、A-4ページの「プロキシ・サーバー定義ファイ ル」を参照してください。
OracleAS Proxy Plug-inを使用するためのIISリスナーの構成
5. Serviceで始まる他のすべての行の前に、次の行を追加します。
Service type="oracle/proxy" fn="op_service"
6. GUIまたはシェル・スクリプトを使用してリスナーを起動します。
OracleAS Proxy Plug-in を使用するための を使用するための を使用するための を使用するための IIS リスナーの構成 リスナーの構成 リスナーの構成 リスナーの構成
この項では、Windowsシステム上のIISリスナーに関するプロキシ・プラグインの構成手順に ついて説明します。この処理には、Windowsレジストリ・エントリの作成とIIS管理コンソー ルを使用したディレクトリおよびフィルタの追加が必要です。プラグインの構成後にリスナー を再起動する必要があります。
プラグインを構成するには、次の手順を実行します。
1. 「スタート」メニューから「ファイル名を指定して実行ファイル名を指定して実行ファイル名を指定して実行ファイル名を指定して実行」を選択します。
2. 「ファイル名を指定して実行」ダイアログ・ボックスにregeditと入力し、「OK」をク リックします。
「レジストリエディタ」ウィンドウが表示されます。
3. 「レジストリエディタ」ウィンドウで、HKEY_LOCAL_MACHINEフォルダを開きます(名 前の前の「+」をクリックします)。
4. SOFTWAREフォルダを開きます(名前の前の「+」をクリックします)。 5. ORACLEフォルダをクリックします。
6. 「編集」メニューから「新規」、次に「キー」を選択します。
ORACLEフォルダの下に新規キー #1という名前の新規フォルダが追加されます。
7. キー名としてIISProxyAdapterを入力します。
8. 「編集」メニューから「新規」、さらに「文字列」を選択します。
右側のウィンドウに新規値 #1という名前の新しい値が追加されます。
9. 値の名前としてserver_defsを入力します。
10.「編集」メニューから「変更」を選択します。「文字列の編集」ダイアログ・ボックスが表 示されます。
11.「値のデータ」フィールドに、プロキシ・サーバー定義ファイルのフルパスを入力します。
「OK」をクリックします。
12. 手順8~11で指定された手続きを使用してlog_fileとlog_levelを指定します。この 手順はオプションです。
a. 名前log_fileとログ・ファイルの格納場所(d:¥proxy¥proxy.logなど)を指定 する文字列値を追加します。
b. 名前log_levelと必要なログ・レベルを指定する文字列値を追加します。有効な値
は、debug、inform、errorおよびemergです。
13. IIS管理コンソールを使用し、oracle_proxy.dllと同じ物理パスを指定して、IIS Web サイトに新規の仮想ディレクトリを追加します。ディレクトリ名としてoproxyを指定し、
実行アクセス権限を付与します。
14. IIS管理コンソールを使用し、IIS Webサイトにフィルタとしてoracle_proxy.dllを追 加します。フィルタ名はoproxyとし、その実行可能ファイルはoracle_proxy.dllを 含むディレクトリ(d:¥proxy¥oracle_proxy.dllなど)を指す必要があります。
15. IISを(IIS Serverを停止してから起動して)再起動し、oproxyフィルタが緑の上矢印で