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 のプロキシ)で設定する

  1. 「インターネットオプション」を開く(inetcpl.cpl を実行)。
  2. 「接続」タブを選択し、「LAN の設定」をクリック。
  3. 「自動構成スクリプトを使用する」にチェックを入れ、PAC ファイルの URL を入力。
  4. 「OK」を押して設定を保存。
  5. 以下のコマンドで設定を WinHTTP に適用。 netsh winhttp import proxy source=ie
  6. 設定を確認。 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 を実行していない。

対応策:

  1. inetcpl.cpl で設定を再確認。
  2. グループポリシーエディター(gpedit.msc)で以下のパスを確認。
    • 「ユーザーの構成」 > 「管理用テンプレート」 > 「Windows コンポーネント」 > 「Internet Explorer」 > 「プロキシ設定」
    • 設定がない場合、ADMX テンプレートを追加。
  3. cmd を「管理者として実行」してコマンドを再実行。

2. PAC ファイルが適用されていない場合

原因:

  • ファイルパスが間違っている。
  • PAC ファイルの構文エラーがある。
  • キャッシュが影響している。

対応策:

  1. PAC ファイルの URL を直接ブラウザで開いて内容を確認。
  2. PAC Validator を使用して構文エラーをチェック(例: https://www.webproxy.net/pac-validator/)。
  3. キャッシュをクリア。 netsh winhttp reset proxy

4. まとめ

Windows Server 2016 で PAC ファイルを適用するには、

  1. Internet Explorer の設定を正しく行い、WinHTTP にインポートする
  2. WinHTTP に直接プロキシを設定する(IE のインポートが機能しない場合)
  3. グループポリシーを確認し、制約がないか調査する

これらの方法を試すことで、適切に PAC ファイルを適用できるようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です