PACファイル 【プロキシ自動設定ファイル】 Proxy Auto-Configuration / proxy.pac

概要

PACファイル(プロキシ自動設定ファイル)とは、Webブラウザの動作を指定する設定ファイルの一つで、経由するプロキシサーバを指定するためのもの。直接アクセスプロキシ経由、複数のプロキシサーバを使い分けることができる。標準のファイル拡張子は「.pac」。

WebプロキシWebブラウザWebサーバアクセスする際にコンテンツの伝送を中継してくれるサーバで、プライベートネットワークからインターネットへのアクセスなど、サーバに直接通信できない場合にクライアントの代理(proxy)としてデータの送受信をうためこのように呼ばれる。

一般的なブラウザプロキシ設定では、プロキシを経由するか否か、どのプロキシサーバアクセスするかを固定的に指定するため、すべてのWebアクセスが同じプロキシ設定なわれることになる。これは企業内ネットワークなどで、社内サーバ向けとインターネット向けでアクセス設定を使い分けたい場合などには不便である。

PACファイルではプログラムコードの形でルールを記述し、どのような場合にプロキシを使うか、どこへのアクセスでどのプロキシを経由するかを細かく指定することができる。これにより、社内サーバへは直接アクセスインターネットへは社内のプロキシサーバを経由、といった指定を動的に適用することができるようになる。

PACファイルの実体JavaScriptで記述されたスクリプトで、「function FindProxyForURLurl,host){…}」という形式で「FindProxyForURL」という関数実装されている。この関数は「url」「host」の2つの引数を取り、urlで指定されたサイトへのアクセス時に適用するプロキシ設定文字列として返す。hosturlから抽出されたホスト名部分の文字列urlが“https://www.example.jp/index.html”なら“example.jp”)である。

返り値は設定値を「;」(セミコロン)区切りで連結した文字列で、先頭から順に設定値が適用可能か調べ、利用可能なものが見つかり次第適用する。設定値は「DIRECT」で直接アクセス、「PROXY ホスト名:ポート番号」で指定したプロキシを使用、「SOCKS ホスト名:ポート番号」で指定したSOCKSサーバを使用などとなっている。

例えば、関数の中で「return “PROXY gw1.example.jp:8080;PROXY gw2.example.jp:8080;DIRECT”;」のように返り値を指定すると、gw1.example.jp8080番ポートが接続可能であればそれを経由し、不可能であればgw2の8080を試し、それも使えない場合は直アクセスう。urlの内容に応じて条件分岐し、それぞれ異なる設定値をreturnすることができるため、複雑なルールを記述できる。

PACファイルはローカルに保存して読み込むようにすることも、Webサーバに置いて読み込ませるように設定することもできる。慣用的に「proxy.pac」というファイル名にすることが多いが、別にファイル名本体部分は何でもよい。サーバに置く場合はプロキシを経由せず直接取得できる場所である必要があり、WebサーバMIME設定で「.pac」ファイルを「application/x-ns-proxy-autoconfig」とする必要がある。

(2022.1.5更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる