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