Автоматическая настройка прокси (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 — службы и консольные утилиты.
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.