Windows で PAC ファイルを利用したプロキシ設定
目次
はじめに
Windows Server 2016 Datacenter で PAC ファイルを利用したプロキシ設定を行う際に、正しく適用されない問題が発生することがあります。本記事では、その原因と解決方法について詳細に説明します。
1. PAC ファイルの配置と設定
PAC ファイルの作成
まず、プロキシ設定を記述した PAC ファイルを作成します。
function FindProxyForURL(url, host) {
return "PROXY 10.0.1.173:80";
}
このファイルを proxy.pac
という名前で保存します。
PAC ファイルの配置
PAC ファイルは以下のいずれかの場所に配置できます。
- ローカルファイル:
C:\Users\Administrator\Desktop\proxy.pac
- Web サーバー: IIS を有効化して
C:\inetpub\wwwroot\proxy.pac
に配置 - S3 などのクラウドストレージ:
https://<bucket>.s3.ap-northeast-1.amazonaws.com/proxy.pac
2. Windows のプロキシ設定方法
1. Internet Explorer(または Windows のプロキシ)で設定する
- 「インターネットオプション」を開く(
inetcpl.cpl
を実行)。 - 「接続」タブを選択し、「LAN の設定」をクリック。
- 「自動構成スクリプトを使用する」にチェックを入れ、PAC ファイルの URL を入力。
- 「OK」を押して設定を保存。
- 以下のコマンドで設定を WinHTTP に適用。
netsh winhttp import proxy source=ie
- 設定を確認。
netsh winhttp show proxy
→ しかし、この方法が機能しない場合があります。
2. WinHTTP に手動でプロキシを設定する
IE からのインポートがうまくいかない場合、WinHTTP に直接プロキシを設定します。
netsh winhttp set proxy 10.0.1.173:80
すべてのポートをプロキシ経由にする場合、ポート指定を省略します。
netsh winhttp set proxy 10.0.1.173
設定を確認します。
netsh winhttp show proxy
設定をリセットする場合は以下を実行。
netsh winhttp reset proxy
3. トラブルシューティング
1. netsh winhttp import proxy source=ie
が適用されない場合
原因:
- Internet Explorer の設定が正しく保存されていない。
- グループポリシーがプロキシ設定を管理している。
- 管理者権限で
cmd
を実行していない。
対応策:
inetcpl.cpl
で設定を再確認。- グループポリシーエディター(
gpedit.msc
)で以下のパスを確認。- 「ユーザーの構成」 > 「管理用テンプレート」 > 「Windows コンポーネント」 > 「Internet Explorer」 > 「プロキシ設定」
- 設定がない場合、
ADMX
テンプレートを追加。
cmd
を「管理者として実行」してコマンドを再実行。
2. PAC ファイルが適用されていない場合
原因:
- ファイルパスが間違っている。
- PAC ファイルの構文エラーがある。
- キャッシュが影響している。
対応策:
- PAC ファイルの URL を直接ブラウザで開いて内容を確認。
PAC Validator
を使用して構文エラーをチェック(例: https://www.webproxy.net/pac-validator/)。- キャッシュをクリア。
netsh winhttp reset proxy
4. まとめ
Windows Server 2016 で PAC ファイルを適用するには、
- Internet Explorer の設定を正しく行い、WinHTTP にインポートする
- WinHTTP に直接プロキシを設定する(IE のインポートが機能しない場合)
- グループポリシーを確認し、制約がないか調査する
これらの方法を試すことで、適切に PAC ファイルを適用できるようになります。