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

自動設定ファイルについて

Proxy Server の管理者としてクライアント自動設定ファイルを作成して配布する場合があります。

自動設定ファイルの機能

自動設定ファイルは JavaScript で記述されています。JavaScript はコンパクトな、オブジェクトベースのスクリプト言語で、クライアントおよびサーバーのインターネットアプリケーションの開発に使用されます。ブラウザが JavaScript ファイルを解釈します。

ブラウザは最初の読み込み時に自動設定ファイルをダウンロードします。このファイルは、ブラウザが URL を使用してアクセスできる任意の場所に保存できます。たとえば、自動設定ファイルを Web サーバー上に保存することができます。ブラウザがファイル :// URL を使用して自動設定ファイルを取得できる場合には、自動設定ファイルをネットワークファイルシステム上に保存することができます。

プロキシ設定ファイルは JavaScript で記述されています。この JavaScript ファイルでは 1 つの関数 (FindProxyForURL) が定義されています。この関数は、各 URL に対してブラウザが使用するプロキシサーバーがあれば、どれを使用するのかを決定するものです。ブラウザは、JavaScript 関数に 2 つのパラメータを送信します。ブラウザが実行されているシステムのホスト名と、取得しようとしている URL です。JavaScript 関数は、処理方法を示す値をブラウザに返します。

自動設定ファイルを使用すると、さまざまなタイプの URL、さまざまなサーバー、または 1 日のうちのさまざまな時間に対して、異なるプロキシを指定できるようになります。またはプロキシをまったく指定しないこともできます。つまり、複数の専用のプロキシを用意できるので、たとえば、あるプロキシを .com ドメイン、別のプロキシを .edu ドメイン、さらに別のプロキシをその他すべてのドメイン用にすることができます。これによって、負荷を分散して、プロキシのディスクをさらに効率的に使用できるようになります。同じドキュメントを複数のプロキシすべてで保存するのではなく、どのファイルについてもキャッシュ内にコピーが 1 つ存在するだけだからです。

自動設定ファイルはプロキシのフェイルオーバーもサポートしているので、プロキシサーバーが使用できない場合、ブラウザはユーザーに意識させずに別のプロキシサーバーに切り替えを行います。

Web サーバーとしてのプロキシへのアクセス

プロキシサーバー上に 1 つ以上の自動設定ファイルを保存し、そのプロキシサーバーを、自動設定ファイルを唯一のドキュメントとする Web サーバーとして機能させることができます。これによって、プロキシの管理者は、組織内のクライアントが必要とするプロキシ自動設定ファイルを保持することができます。また、ファイルを中央で保持できるので、ファイルを更新する必要がある場合は、中央のファイルを一度更新するだけで、すべてのブラウザクライアントにより自動的に更新が取得されます。

プロキシ自動設定ファイルは、server- root/proxy-serverid/pac/ ディレクトリで保持されます。ブラウザでは、プロキシ自動設定ファイルへの URL を「Proxies」タブに入力します。プロキシの URL は次の書式になります。

http://proxy.domain:port/URI

たとえば、URL は http://proxy.example.com となります。URI (URL の後に続くhost:port の組 み合わせ) を使用すれば、テンプレートを使用してさまざまな自動設定ファイルへのアクセスを制御できます。たとえば、/proxy.pac という自動設定ファイルを格納する /test という URI を作成すると、リソースパターン http://proxy.mysite.com:8080/test/.* を使用したテンプレートを作成できます。次に、このテンプレートを使用して、そのディレクトリ固有のアクセス制御を設定することができます。

複数の自動設定ファイルを作成し、それぞれが異なる URL 経由でアクセスするように設定できます。次の表は、クライアントがアクセスするために使用する URI と URL の例をいくつか示しています。

表 17–1 URI の例とそれに対応する URL

URI (パス) 

プロキシへの URL 

http://proxy.mysite.com 

/employees 

http://proxy.mysite.com/employees 

/group1 

http://proxy.mysite.com/group1 

/managers 

http://proxy.mysite.com/managers 

逆プロキシによる pac ファイルの使用

逆プロキシの機能から考えて、プロキシサーバーを使用して、.pac ファイルを処理することは困難です。プロキシサーバーがファイルに対する要求を受け取ったときに、その要求がローカルの .pac ファイルに対するものなのか、それともリモートドキュメントに対するものなのかを判断する必要があるからです。

.pac ファイルの管理および配布に加えて、プロキシサーバーを逆プロキシとして動作させるには、obj.conf ファイルを手動で編集して、NameTrans 関数の順序が正しいことを確認する必要があります。

プロキシサーバーが逆プロキシとして動作するように、通常マッピングを作成します。このマッピングは、通常、すべての要求をリモートコンテンツサーバーに向けてルーティングするようプロキシに指示します。プロキシ自動設定ファイルを追加し、これを特定のディレクトリ (/pac など) にマップすることができます。ここでは、.pac ファイルを受け取るクライアントはすべて、次のような URL を使用します。

http://proxy.mysite.com/pac

注意 – 注意 –

このマッピングでは、リモートコンテンツサーバーに同じようなディレクトリが存在していないことを確認してください。


obj.conf ファイルを編集し、プロキシ自動設定ファイルに関する指令および関数が、ほかのマッピングより先に表示されていることを確認します。プロキシサーバーは通常、要求を処理する前にすべての NameTrans 関数を実行するので、この指令と関数が先に置かれている必要があります。ただし、自動設定ファイルの場合は、プロキシが即座にパスを認識して、.pac ファイルを返します。

次に、逆プロキシを使用し、自動設定ファイルを管理する obj.conf ファイルの記述例を示します。

<Object name="default">
NameTrans from="file:" fn="map" to="ftp:"
NameTrans from="/pac" fn="pac-map" name="file" 
	to="/ns-home/proxy/pac/proxy.pac"
NameTrans fn="redirect" from="http://foo.*" url="http://www.acme.com"
NameTrans from="/ns-icons" fn="pfx2dir" dir="/ns-home/ns-icons" name="file"
NameTrans fn="reverse-map" from="http://web.acme.com" 
	to="http://proxy.acme.com:8080"
NameTrans fn="map" from="http://proxy.acme.com:8080" 
	to="http://web.acme.com"
NameTrans fn="map" from="/" to="http://web.acme.com"
PathCheck fn="url-check"
Service fn="deny-service"
AddLog fn="flex-log" name="access"
AddLog fn="urldb-record"
</Object>