Автоматическая настройка прокси (WPAD/PAC) не работает в Windows 10/11 — как включить и починить (2025)

В Windows есть два «мира» сетевых настроек: системный прокси (WinINET) для обычных приложений и WinHTTP для служб и консоли. Плюс механизм автоматической настройки — WPAD, который раздаёт PAC‑скрипт. Когда где-то ломается один элемент, поведение становится хаотичным: браузер ходит, а утилиты — нет, или наоборот. Ниже — последовательная настройка с тестами и безопасными командами.

0) Что вообще происходит: краткая схема

  • PAC — JavaScript‑файл с функцией FindProxyForURL(url, host), которая решает, какой прокси применять.
  • WPAD — способ найти PAC автоматически через DNS (имя wpad) или DHCP опцию 252.
  • WinINET используют Edge/IE и часть ПО; WinHTTP — службы и консольные утилиты.
Важно: PAC может кешироваться. После правок очищайте кеш и перезапускайте приложения.

1) Включаем автоопределение и/или задаём PAC

Win+R — выполнить по одной:

ms-settings:network-proxy
inetcpl.cpl

В «Свойства браузера → Подключения → Настройка сети» включите автообнаружение и задайте URL PAC при необходимости.

2) Синхронизируем WinHTTP ↔ системный прокси

CMD (Администратор) — выполнять по одной:

netsh winhttp show proxy
netsh winhttp import proxy source=ie
netsh winhttp reset proxy

После импорта проверьте, что службы (например, wuauserv) видят нужные настройки.

3) Проверяем WPAD: DNS, DHCP и сам PAC

CMD/PowerShell — выполнять по одной:

nslookup wpad
ipconfig /all | more  # посмотрите, есть ли опция 252 от DHCP
curl -I http://wpad/wpad.dat
curl -I http://proxy.example.local/proxy.pac
curl http://proxy.example.local/proxy.pac | more

Откройте PAC в Блокноте — он должен содержать функцию FindProxyForURL. Пример рабочего «скелета»:

Текстовый файл PAC — вставить целиком как пример (скопируйте и адаптируйте):

function FindProxyForURL(url, host) {
  // Внутренние домены и локальные адреса — в обход прокси
  if (isPlainHostName(host) || dnsDomainIs(host, ".corp.local") || isInNet(host, "10.0.0.0", "255.0.0.0")) {
    return "DIRECT";
  }
  // Пример: для видео — прямой доступ
  if (shExpMatch(host, "*.video.example.com")) {
    return "DIRECT";
  }
  // Всё остальное — через основной прокси с резервом
  return "PROXY proxy.corp.local:3128; PROXY proxy-backup.corp.local:3128; DIRECT";
}

4) Чистим кеши и перезапускаем службы

CMD/PowerShell — выполнять по одной:

ipconfig /flushdns
rundll32.exe inetcpl.cpl,ClearMyTracksByProcess 8  # кеш IE/Edge (WinINET)
net stop WinHttpAutoProxySvc && net start WinHttpAutoProxySvc
netsh winhttp reset proxy

Перезапустите приложения, которые использовали старый PAC.

5) Политики и реестр

Если настройки «серы» или слетают — смотрим политики и ключи реестра.

Win+R — выполнить по одной:

gpedit.msc
regedit.exe

Ключи: HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings и HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings. Не удаляйте без бэкапа.

6) Диагностика и инструменты

  • Проверьте сетевой стек: netsh winhttp show tracing, netsh trace start capture=yes (для профи).
  • Полезны: TCPView (Sysinternals), Wireshark.
Нужна помощь? Настрою WPAD/PAC, синхронизирую WinHTTP и проверю исключения — всё заработает предсказуемо.

Читайте также: