1. プロキシサーバ及びPACとは(第1・2・3回の復習)
本節では第1回で扱ったプロキシの概要、第2回で解説したプロキシサーバをどのように利用するか(PACファイルの利用)及び第3回で解説したPACの具体的な記載方法について、短く復習した上で、本題であるPACファイルのテストとデバッグについて解説していきたいと思います。
1-1_プロキシサーバの概要
まず、おさらいですがプロキシサーバとは「 クライアントの代わりに外部と通信する中継役」です。技術的にはクライアント(PC等)からのリクエストを受け取り、代わりに外部サイト(サーバ)へ接続して応答を返すソフトウェア/ハードウェアを指します。通信を仲介することで、プロキシサーバは単なる中継地ではなくページのキャッシュやフィルタなどの様々な機能を提供することが可能になります。

1-2 PACの役割とメリット
PAC(Proxy Auto-Config)ファイルは、クライアント機器(PC等)がアクセス先ごとに「 プロキシを使うか/直接接続するか」を自動判定するためのJavaScript形式の設定ファイルです。PACは端末側でアクセス先ごとの接続先を動的に決定できるため、管理者が一括でルールを更新すれば全端末に反映されます。手動設定と比べて運用負荷が低く、特定サービスだけ別プロキシに振るなど柔軟な運用が可能です。

1-3_PACファイルの記載方法
PACファイルの主な構成は、下記になります
- 基本構文(例:FindProxyForURL)
- 引数(例:url / host) 。
- 返却値 (例 DIRECT / PROXY等)
- 判定関数(例 dnsDomainIs, shExpMatch, isInNet, dnsResolve)

各項目の詳細な内容は第三回記事を参照ください

2_PACの検証方法(検証方法及び留意点)
PAC導入で最も重要なのは検証です。ブラウザを利用しての確認方法や、PACのキャッシュクリアについて解説します。
2-1_ブラウザでの具体的な検証方法(Chrome/Edge)
Chrome/Edgeでは、以下の手順でPACファイルを検証します。
- 「 net-export」で通信ログを記録し、
- 記録ファイルを 「 netlog‑viewer」 に読み込んで PAC の評価結果(実際に選ばれた接続方法)を確認します。

それでは具体的な手順についてみていきましょう。
2-1-1_ログ記録を開始
ブラウザで chrome://net-export/(Chrome)または同等の Edge ページを開き、「Start Logging to Disk」をクリックして保存先を指定する。

2-1-2_再現操作
確認したいサイトへアクセスして、PAC の判定が行われるリクエストを発生させる(ページ読み込みやリソース取得)。
2-1-3_ログ記録を停止
Stop Logging を押して .json ログを保存する。

2-1-4_ログを解析
保存したログを netlog‑viewer(https://netlog-viewer.appspot.com/)にアップロードし、「Event」や「Socket」タブで該当リクエストを探す。ここに「Direct」や「Proxy host:port」といった実際の接続結果が表示されます。
- net-exportで保存したログを選択
- 「Events」タブを選択
- 調べたいサイト(URL)を検索
- HTTP_STREAM_JOB_CONTROLLER等のイベントを選択
- 詳細が表示されるのでどのプロキシが選ばれたかが分かります
→「Direct」は直接通信、プロキシが使われていた場合はプロキシサーバの情報が表示されます。※例はDirect通信

2-2 PACファイルのキャッシュと反映タイミング
PC(WindowOS等)はPACファイルをキャッシュするため、導入時や変更時の検証の際にPACファイルの更新が端末に反映されないことがあります。ここではキャッシュクリア、サービス再起動の手順を実務的に見ていきます。
2-2-1_ブラウザを“完全に”終了する
PAC キャッシュはブラウザが開いている限り残り続けるため、まず全プロセスを終了させる必要があります。
- Edge/Chrome を閉じる
- タスクバーに残っていないか確認
- 必要なら タスクマネージャー → プロセス で msedge.exe / chrome.exe が残っていないか確認して終了する
2‐2‐2_ブラウザのキャッシュを削除する
ブラウザが保持している PAC のキャッシュを強制的に削除します。
「Windows+R」 → 「RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8」
このコマンドはブラウザの全キャッシュを削除します。
2-2-3_ブラウザを再起動し、PAC が適用されているか確認する
キャッシュを削除した状態でブラウザを起動し、PAC の評価結果を確認します。
- Edge: edge://net-internals/#proxy
- Chrome: chrome://net-internals/#proxy
- 「Proxy auto-config」欄に最新 PAC が読み込まれているか確認
3_まとめ
本記事ではPAC ファイルの基本(役割・書き方)を短く復習し、Chrome/Edge の net-export と netlog‑viewer を使って「実際にどの接続方法が選ばれたか」を確認する手順を解説しました。さらに、PAC が更新されても反映されない場合に備えて、ブラウザ終了・キャッシュ削除・PAC 再起動確認といった実務的なキャッシュ対策も紹介しましたので是非一度試してみてください。
(参考)よくある質問
- Q1PAC を更新したのに反映されないのはなぜ?
- A1
Windows やブラウザが 古い PAC をキャッシュしていることが多いです。ブラウザを完全終了し、WinINet キャッシュを削除すると改善します。
- Q2netlog‑viewer では何を見ればよい?
- A2
Event タブで URL を検索し、Direct か Proxy が選ばれたかを確認します。意図と違う場合は PAC の条件式を見直します。
- Q3PAC の動作確認はブラウザだけで十分?
- A3
基本は十分ですが、反映されない場合は curl で PAC を直接取得して、サーバ側のキャッシュ問題がないかも確認すると確実です。
(コマンドプロンプト → curl -H “Cache-Control: no-cache” http://<PAC_URL>- 取得した PAC の内容が最新か確認できます)

コメント