Sun Java System Web Proxy Server 4.0.8 管理ガイド

プロキシ配列の使用

分散キャッシュのためにプロキシ配列を使用すると、複数のプロキシが 1 つのキャッシュとして機能します。配列内の各プロキシに、ブラウザまたはダウンストリームのプロキシサーバーにより取得可能な、さまざまなキャッシュ URL が格納されます。プロキシ配列を使用すると、複数のプロキシサーバーを使用するとしばしば発生する、キャッシュの重複を避けることができます。ハッシュベースのルーティングを通じて、プロキシ配列はプロキシ配列内の正しいキャッシュに要求をルーティングします。

またプロキシ配列では、増分スケーラビリティが可能です。プロキシ配列へのプロキシの追加を決定した場合、各メンバーのキャッシュは無効になりません。各メンバーのキャッシュ内の 1/n の URL のみが、ほかのメンバーに再割り当てされます (n は配列のプロキシの数)。

プロキシ配列を経由したルーティング

プロキシ配列からの各要求について、ハッシュ機能は配列内の各プロキシに、要求された URL、プロキシ名、およびプロキシの負荷要因に基づくスコアを割り当てます。要求はスコアが最も高いプロキシにルーティングされます。

URL の要求はクライアントとプロキシの両方から送られる可能性があるため、プロキシ配列を経由するルーティングには次の 2 種類あります。クライアントからプロキシへのルーティングとプロキシからプロキシへのルーティング。

クライアントからプロキシへのルーティングでは、クライアントはプロキシ自動設定 (Proxy Auto Configuration、PAC) メカニズムを使用して、経由するプロキシを決定します。ただし、クライアントは、標準の PAC ファイルを使用する代わりに、ハッシュアルゴリズムを計算する特別な PAC ファイルを使用し、要求された URL に適切な経路を決定します。図 12–4 にクライアントからプロキシへのルーティングを示します。この図では、プロキシ配列の各メンバーがロードされ、マスタープロキシに対してPAT ファイルに加えられた更新をポーリングします。PAC ファイルを取得したクライアントに必要となるのは、設定が変更されるたびにこのファイルをダウンロードすることだけです。通常、クライアントは再起動時に PAC ファイルをダウンロードします。

プロキシサーバーは、管理インタフェースから作成された Proxy Array Membership Table (PAT) 仕様に基づいて特別な PAC ファイルを自動的に生成できます。

図 12–4 クライアントからプロキシへのルーティング

クライアントからプロキシへのルーティングを示す図

プロキシからプロキシへのルーティングでは、プロキシは、クライアントが使用する PAC ファイルの代わりに PAT (Proxy Array Table) ファイルを使用して、ハッシュアルゴリズムを計算します。PAT ファイルは、プロキスのマシン名、IP アドレス、ポート、負荷係数、キャッシュサイズなどを含むプロキシ配列に関する情報を格納した ASCII ファイルです。サーバー側でハッシュアルゴリズムを計算する場合、PAC ファイル (実行時に解釈が必要な JavaScript ファイル) よりも PAT ファイルを使用する方がはるかに効率的です。ただし、ほとんどのクライアントは PAT ファイル形式を認識しないため、PAC ファイルを使用する必要があります。図 12–5 にプロキシからプロキシへのルーティングを示します。

PAT ファイルはプロキシ配列のマスタープロキシで作成されます。プロキシの管理者は、マスタープロキシにするプロキシを決定する必要があります。管理者は、このマスタープロキシサーバーから PAT ファイルを変更できます。プロキシ配列のほかのすべてのメンバーは、これらの変更について、マスタープロキシを手動または自動でポーリングできます。これらの変更に基づき、PAC ファイルを自動的に生成するように各メンバーを設定できます。

また、プロキシ配列を連鎖して、階層ルーティングを作成することもできます。プロキシサーバーが受信した要求を上流のプロキシ配列にルーティングする場合、上流のプロキシ配列は親配列となります。つまり、クライアントがプロキシ X のドキュメントを要求し、プロキシ X にそのドキュメントがない場合、クライアントは直接リモートサーバーに要求を送信する代わりに、プロキシ配列 Y に要求を送信します。このため、プロキシ配列 Y が親配列になります。

図 12–5 で、プロキシ配列 1 はプロキシ配列 2 の親配列です。プロキシ配列 2 のメンバーは親配列の PAT ファイルへの更新をロードし、ポーリングします。通常は、親配列のマスタープロキシに対してポーリングします。要求された URL のハッシュアルゴリズムは、ダウンロードされた PAT ファイルを使用して計算されます。プロキシ配列 2 のメンバーは、プロキシ配列 1 の中で最もスコアの高いプロキシを通して要求された URL を取得します。図では、クライアントから要求された URL に関して最もスコアが高いのは、プロキシ B です。

図 12–5 プロキシからプロキシへのルーティング

プロキシからプロキシへのルーティングを示す図

プロキシ配列を設定する一般的な手順は次のようになります。

マスタープロキシから、次の手順を実行します。

  1. プロキシ配列を作成します。

    メンバーリストの作成の詳細については、「プロキシ配列メンバーリストの作成」を参照してください。

  2. PAT ファイルから PAC ファイルを生成します。

    PAC ファイルを生成する必要があるのは、クライアントからプロキシへのルーティングを使用する場合のみです。詳細については、「PAT ファイルからの PAC ファイルの生成」を参照してください。

  3. 配列のマスターメンバーを設定します。詳細については、「プロキシ配列メンバーの設定」を参照してください。

  4. プロキシ配列を経由したルーティングを有効にします。詳細については、「プロキシ配列を経由したルーティングの有効化」を参照してください。

  5. URL /pat を PAT ファイルにマップする PAT マッピングを作成します。

  6. プロキシ配列を有効にします。

    詳細については、「プロキシ配列の有効化または無効化」を参照してください。

マスター以外の各プロキシから、次の手順を実行します。

  1. 配列のマスター以外のメンバーを設定します。

    詳細については、「プロキシ配列メンバーの設定」を参照してください。

  2. プロキシ配列を経由したルーティングを有効にします。

    詳細については、「プロキシ配列を経由したルーティングの有効化」を参照してください。

  3. プロキシ配列を有効にします。

    詳細については、「プロキシ配列の有効化または無効化」を参照してください。


    注 –

    プロキシ配列が親配列を経由してルーティングされる場合、親配列を有効にし、各メンバーが親配列を経由して要求される URL にルーティングされるように設定する必要があります。詳細については、「親配列を経由したルーティング」を参照してください。


プロキシ配列メンバーリストの作成

プロキシ配列のメンバーリストの作成および更新は、配列のマスタープロキシからのみ行うことができます。プロキシ配列のメンバーリストは 1 度だけ作成する必要がありますが、いつでも変更できます。プロキシ配列メンバーリストを作成することにより、配列内のすべてのプロキシとダウンストリームプロキシに配布される PAT ファイルが生成されます。


注 –

プロキシ配列のメンバーリストへの変更または追加は、配列内のマスタープロキシからのみ実行します。配列内のほかのメンバーはすべて、メンバーリストの読み込みのみ可能です。


Procedureプロキシ配列メンバーリストを作成するには

  1. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「Configure Proxy Array」リンクをクリックします。

    「Configure Proxy Array」ページが表示されます。

  3. 「Array name」フィールドに、配列の名前を入力します。

  4. 「Reload Configuration Every」フィールドに、PAT ファイルのポーリング間隔を分で入力します。

  5. 「Array Enabled」チェックボックスをクリックします。

  6. 「Create」ボタンをクリックします。

    「Create」ボタンは、プロキシ配列が作成されたあと、「了解」ボタンに変わります。


    注 –

    メンバーをメンバーリストに追加する前に、必ず「了解」をクリックしてください。


  7. [了解]をクリックします。

  8. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  9. プロキシ配列の各メンバーについて、次の内容を入力し、「了解」をクリックします。

    最初にマスターメンバーを追加してから、ほかのメンバーを追加してください。

    • 「名前」: メンバーリストに追加するプロキシサーバーの名前

    • 「IP アドレス」: メンバーリストに追加するプロキシサーバーの IP アドレス

    • 「ポート」: メンバーが PAT ファイルをポーリングするポート

    • 「負荷係数」: メンバーを経由してルーティングする相対的負荷を示す整数

    • 「状態情報」: メンバーの状態。値はオンまたはオフ。プロキシ配列メンバーを無効にした場合、メンバーの要求は別のメンバーに再ルーティングされます。


    注 –

    追加するプロキシ配列メンバーごとに情報を入力したあと、必ず「了解」をクリックしてください。


  10. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  11. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

プロキシ配列メンバーリスト情報の編集

プロキシ配列メンバーリスト内のメンバー情報は、いつでも変更できます。プロキシ配列メンバーリストは、マスタープロキシからのみ編集できます。


注 –

プロキシ配列のメンバーリストへの変更または追加は、配列内のマスタープロキシからのみ実行します。配列のほかのメンバーからこのリストを変更した場合、すべての変更内容は失われます。


Procedureメンバーリスト情報を編集するには

  1. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「Configure Proxy Array」リンクをクリックします。

    「Configure Proxy Array」ページが表示されます。

  3. 「Member List」で、編集するメンバーの横のラジオボタンを選択します。

  4. 「編集」ボタンをクリックします。

    「Configure Proxy Array Member」ページが表示されます。

  5. 該当する情報を編集します。

  6. [了解]をクリックします。

  7. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  8. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。


    注 –

    変更内容を有効にし、プロキシ配列のメンバーに配布する場合、「Configure Proxy Array」ページの「Configuration ID」を更新し、「了解」をクリックします。設定 ID を更新する場合、ID に 1 を加えます。


プロキシ配列メンバーの削除

プロキシ配列のメンバーを削除すると、プロキシ配列から削除されます。プロキシ配列のメンバーは、マスタープロキシからのみ削除できます。

Procedureプロキシ配列からメンバーを削除するには

  1. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「Configure Proxy Array」リンクをクリックします。

    「Configure Proxy Array」ページが表示されます。

  3. 「Member List」で、削除するメンバーの横のラジオボタンを選択します。

  4. [削除]をクリックします。


    注 –

    変更内容を有効にし、プロキシ配列のメンバーに配布する場合、「Configure Proxy Array」ページの「Configuration ID」を更新し、「了解」をクリックします。設定 ID を更新する場合、ID に 1 を加えます。


  5. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  6. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

プロキシ配列メンバーの設定

プロキシ配列内のメンバーは 1 度だけ設定する必要があります。これは各メンバーから行います。配列のメンバーの設定は、別のメンバーからは行うことができません。また、マスタープロキシを設定する必要があります。

Procedureプロキシ配列の各メンバーを設定するには

  1. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「Configure Proxy Array Member」リンクをクリックします。

    「Configure Proxy Array Member」ページが表示されます。

  3. 「Proxy Array」セクションで、適切なラジオボタンを選択し、メンバーが PAT ファイルをポーリングする必要があるかどうかを指定します。

    • 「Non-Master Member」: 設定するメンバーがマスタープロキシ以外の場合にこのオプションを選択します。マスタープロキシ以外のプロキシ配列メンバーは、マスタープロキシから PAT ファイルを取得するために、PAT ファイルをポーリングする必要があります。

    • 「Master Member」: マスタープロキシを設定する場合はこのオプションを選択します。マスタープロキシを設定する場合、PAT ファイルはローカルのため、ポーリングする必要はありません。

  4. 「Poll Host」フィールドに、PAT ファイルをポーリングするマスタープロキシの名前を入力します。

  5. 「Port」フィールドに、マスタープロキシが HTTP 要求を受け取るポートを入力します。

  6. 「URL」フィールドに、マスタープロキシの PAT ファイルの URL を入力します。マスタープロキシで、PAT ファイルを URL /pat にマッピングする PAT マッピングを作成している場合、「URL」フィールドに /pat と入力します。

  7. (オプション) 「Headers File」フィールドに、PAT ファイルに対する HTTP 要求 (認証情報など) とともに送信する必要がある特殊ヘッダー付きのファイルのフルパス名を入力します。

  8. [了解]をクリックします。

  9. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  10. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

プロキシ配列を経由したルーティングの有効化

Procedureプロキシ配列を経由したルーティングを有効にするには

  1. サーバーマネージャーにアクセスし、「Routing」タブをクリックします。

  2. 「Set Routing Preferences」リンクをクリックします。

    「Set Routing Preferences」ページが表示されます。

  3. ドロップダウンリストからリソースを選択するか、「Regular Expression」ボタンをクリックして正規表現を入力し、「了解」をクリックします。

  4. 「Route Through」オプションを選択します。

  5. 「proxy array」または「parent array」のチェックボックスを選択します。

    設定するプロキシサーバーがプロキシ配列のメンバーである場合のみ、プロキシ配列のルーティングを有効にできます。親配列が存在する場合、親ルーティングのみを有効にできます。いずれのルーティングオプションも、独立して使用されます。

  6. プロキシ配列経由でルーティングし、要求を別の URL にリダイレクトする場合、「redirect」チェックボックスを選択します。

    リダイレクトは、プロキシ配列のメンバーが処理できない要求を受け取った場合、クライアントに、その要求を照会するプロキシを伝えることを意味します。

  7. [了解]をクリックします。

  8. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  9. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

プロキシ配列の有効化または無効化

プロキシ配列を経由したルーティングを行わない場合、プロキシ配列オプションを無効にする前に、すべてのクライアントが特別な PAC ファイルを使用して正しくルーティングしていることを確認する必要があります。親配列オプションを無効にする場合、「Set Routing Preferences」ページで、明示的プロキシまたは直接接続など、有効な代替ルーティングオプションを設定する必要があります。

Procedureプロキシ配列を有効または無効にするには

  1. サーバーマネージャーにアクセスし、「Preferences」タブをクリックします。

  2. 「Configure System Preferences」リンクをクリックします。

    「Configure System Preferences」ページが表示されます。

  3. プロキシ配列を有効または無効にします。

    • プロキシ配列を有効にするには、有効にする配列の種類(通常のプロキシ配列または親配列) の「Yes」オプションをクリックします。

    • プロキシ配列を無効にするには「No」をクリックします。

  4. [了解]をクリックします。

  5. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  6. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

プロキシ配列の要求のリダイレクト

プロキシ配列経由のルーティングを選択する場合、要求を別の URL にリダイレクトするかどうかを指定する必要があります。リダイレクトは、プロキシ配列のメンバーが処理できない要求を受け取った場合、クライアントに、その要求を照会するプロキシを伝えることを意味します。

PAT ファイルからの PAC ファイルの生成

ほとんどのクライアントは PAT ファイル形式を認識しないため、クライアントからプロキシへのルーティングを使用するクライアントはプロキシ自動設定 (PAC) メカニズムを使用して、どのプロキシを経由するかについての情報を受け取ります。ただし、標準の PAC ファイルを使用する代わりに、クライアントは PAT ファイルから生成された特別な PAC ファイルを使用します。この特別な PAC ファイルは、ハッシュアルゴリズムを計算して、要求された URL に最適な経路を決定します。

PAC ファイルは PAT ファイルから手動で、または自動的に生成できます。プロキシ配列の特定のメンバーから手動で PAC ファイルを生成する場合、そのメンバーは PAT ファイルの現在の情報に基づいてただちに PAC ファイルを再生成します。プロキシ配列メンバーにPAC ファイルの自動生成を設定する場合、PAT ファイルが変更されたことを検出するたびに、メンバーは自動的にファイルを再生成します。


注 –

プロキシサーバーのプロキシ配列機能を使用していない場合、「Create/Edit Autoconfiguration File」ページを使用して PAC ファイルを生成します。詳細については、第 17 章クライアント自動設定ファイルの使用を参照してください。


ProcedurePAT ファイルから PAC ファイルを手動で生成するには

PAC ファイルは、マスタープロキシからのみ生成できます。

  1. マスタープロキシのサーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「Configure Proxy Array」リンクをクリックします。

    「Configure Proxy Array」ページが表示されます。

  3. 「Generate PAC」ボタンをクリックします。

    「PAC Generation」ページが表示されます。

  4. PAC ファイルでカスタムロジックを使用する場合、「Custom logic file」フィールドに、PAC ファイルの生成時に組み込むカスタムロジックを含むファイル名を入力します。

    このロジックは、FindProxyForURL 関数のプロキシ配列の選択ロジックの前に挿入されます。この関数は、通常はプロキシ配列を経由する必要のないローカル要求で使用されます。

    プロキシ配列メンバーの設定時に、すでにカスタムロジックファイルを指定している場合、このフィールドにはその情報が表示されます。ここでカスタムロジックファイルの名前を編集できます。

  5. 「Default Route」フィールドに、配列内のプロキシが利用できないときにクライアントが利用する経路を入力します。

    プロキシ配列メンバーの設定時に、すでにデフォルト経路を指定している場合、このフィールドにはその情報が表示されます。ここでデフォルト経路を編集できます。

  6. [了解]をクリックします。

  7. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  8. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

ProcedurePAC ファイルを自動生成するには

  1. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「Configure Proxy Array Member」リンクをクリックします。

    「Configure Proxy Array Member」ページが表示されます。

  3. 「Auto-generate PAC File」チェックボックスを選択します。

  4. PAC ファイルでカスタムロジックを使用する場合、「Custom Logic File」フィールドに、PAC ファイルの生成時に組み込むカスタムロジックを含むファイル名を入力します。

    このロジックは、FindProxyForURL 関数のプロキシ配列の選択ロジックの前に挿入されます。

    プロキシ配列の設定時に、すでにカスタムロジックファイルを指定し、保存している場合、このフィールドにはその情報が表示されます。ここでカスタムロジックファイルの名前を編集できます。

  5. 「Default Route」フィールドに、配列内のプロキシが利用できないときにクライアントが利用する経路を入力します。

    プロキシ配列の設定時に、すでにデフォルト経路を指定し、保存している場合、このフィールドにはその情報が表示されます。デフォルト経路を編集できます。

  6. [了解]をクリックします。

  7. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  8. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

親配列を経由したルーティング

直接リモートサーバーに接続する代わりに、上流の親配列を経由してルーティングするよう、プロキシまたはプロキシ配列のメンバーを設定できます。

Procedure親配列を経由してルーティングするには

  1. 親配列を有効にします。

    詳細については、「プロキシ配列の有効化または無効化」を参照してください。

  2. 親配列を経由するルーティングを有効にします。

    詳細については、「プロキシ配列を経由したルーティングの有効化」を参照してください。

  3. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  4. 「Configure Proxy Array Member」リンクをクリックします。

    「Configure Proxy Array Member」ページが表示されます。

  5. このページの「Parent Array」セクションにある「Poll Host」フィールドに、PAT ファイルのポーリング対象にする親配列にあるプロキシのホスト名を入力します。

    このプロキシは、通常、親配列のマスタープロキシになります。

  6. このページの「Parent Array」セクションにある「ポート」フィールドに、PAT ファイルをポーリングする親配列にあるプロキシのポート番号を入力します。

  7. 「URL」フィールドに、マスタープロキシの PAT ファイルの URL を入力します。

    マスタープロキシで PAT マッピングを作成している場合、この「URL」フィールドにマッピングを入力する必要があります。

  8. (オプション) このフォームの「Parent Array」セクションにある「Headers File」フィールドに、PAT ファイルに対する HTTP 要求 (認証情報など) とともに送信する必要がある特殊ヘッダー付きのファイルのフルパス名を入力します。

    このフィールドは省略可能です。

  9. [了解]をクリックします。

  10. 「Restart Required」をクリックします。

    「Apply Changes」ページが表示されます。

  11. 「Restart Proxy Server」ボタンをクリックして、変更を適用します。

親配列情報の表示

プロキシ配列が親配列経由でルーティングする場合、親配列のメンバーの情報が必要です。この情報は PAT ファイルの形式で親配列から送信されます。

Procedure親配列情報を表示するには

  1. サーバーマネージャーにアクセスし、「Caching」タブをクリックします。

  2. 「View Parent Array Configuration」リンクをクリックします。

    「View Parent Array Configuration」ページが表示されます。

  3. 情報を表示します。