PACファイル

読み:ぱっくふぁいる / 英語表記:Proxy Auto-Configuration file

Webブラウザが、アクセスする宛先ごとに、プロキシサーバを経由するか、直接接続するかを自動で判断するための設定ファイル。JavaScriptの関数で記述する。

イマシルちゃんの解説

インターネットのサイトはプロキシサーバを通したいけど、社内のサーバやよく使うクラウドサービスには、直接つなぎたい……。
そんなとき、パソコン1台1台に細かく設定するのは大変だよね。

PACファイルは、「この宛先ならプロキシ経由、この宛先なら直接ね」っていう道案内のルールを書いた、小さなプログラムなんだ。
ブラウザがこのファイルを読んで、宛先ごとに自動で道を選んでくれるんだよ!

より深い解説

定義

PACファイル(Proxy Auto-Configuration file)は、ブラウザやOSが、URLごとに使うプロキシサーバを決めるための設定ファイルである。JavaScriptで FindProxyForURL(url, host) という関数を書き、その戻り値で接続方法を指定する。

記述の例

function FindProxyForURL(url, host) {
  // 社内のサーバとSaaSには直接接続する
  if (dnsDomainIs(host, ".example.local") || dnsDomainIs(host, ".saas.example.com")) {
    return "DIRECT";
  }
  // それ以外はプロキシサーバを経由する(停止時は直接)
  return "PROXY proxy.example.local:10080; DIRECT";
}
戻り値意味
DIRECTプロキシサーバを経由せず、直接接続する
PROXY ホスト:ポート指定したプロキシサーバを経由する
複数を「;」で並べる前のものが使えないとき、次のものを使う

配布の方法

方法内容
URLの指定ブラウザやOSの設定に、PACファイルのURL(例:http://wpad.example.local/proxy.pac)を設定する
WPADDHCPのオプションやDNS(wpad.ドメイン名)を使って、端末がPACファイルの場所を自動で見つける
管理ツールActive Directoryのグループポリシーなどで、一括して設定する

使い分けの考え方

宛先経路理由
インターネット上の一般のWebサイトプロキシ経由アクセス制御、ログの取得、利用者認証のため
社内のサーバ直接社内の通信をプロキシに集める必要がない。遠回りや負荷を避ける
送信元のアドレスで制限している、信頼できるSaaS直接(設計による)プロキシの負荷を減らす。通信量の多いサービス(Web会議など)は直接にすることが多い

午後での問われ方

PACファイルの設定から、どの通信がプロキシサーバを経由し、どの通信が直接接続されるかを読み取り、ファイアウォールの許可ルール(端末からプロキシサーバの待受ポートへの通信、端末からSaaSへの直接の通信など)を穴埋めさせる形で問われる。

実際の試験ではここに出る!

この用語が出てくる記事

↑