Изменения прокси в Windows: почему приложения остаются на старом маршруте
Сохранённое значение Internet Settings, перечитанная конфигурация клиента и существующее подключение могут расходиться, даже если запись в реестр прошла успешно.
Окно параметров Windows может показывать новый прокси, а приложение продолжает работать по прежнему маршруту. Определите, какое состояние вы наблюдаете:
| Наблюдение | Что оно устанавливает |
|---|---|
| Новое значение сохранено | Выбранная конфигурация пользователя или компьютера изменилась |
| Клиент читает новую конфигурацию | Этот клиент перечитал используемый источник |
| Новое подключение использует новый маршрут | Обновлённая политика повлияла на новое решение о маршрутизации |
WinINet предоставляет Internet Options и уведомления для каждого подключения, включая INTERNET_OPTION_SETTINGS_CHANGED и INTERNET_OPTION_REFRESH. Для обновляемого параметра используйте поддерживаемый API конфигурации и сообщайте о его ошибках. Запись только в реестр может оставить у клиента устаревшее представление; общая рассылка параметров не заставляет каждую сетевую библиотеку перечитывать её.
Затем определите стек и учётную запись затронутого приложения. Для клиента .NET 9 под Windows жизненный цикл обновления системного прокси отличается от явных объектов прокси и значений среды по умолчанию. WinHTTP и клиенты с собственными настройками прокси — отдельные случаи. Изменение под текущим пользователем мало говорит о службе, работающей под другой учётной записью, а обновление WinINet не может обеспечить поддержку прокси для произвольных сокетов.
Наконец, отличайте новое подключение от активного подключения или туннеля, установленного ранее. Изменение параметра не переносит этот поток автоматически. Приложению, которое предоставляет изменения прокси, нужна определённая политика сохранения, уведомления и новых подключений.