Параметри проксі в ASP.NET Core: launchSettings.json проти робочого середовища
Відрізняйте значення проксі з профілю запуску для розробки від середовища та обробника HTTP, які використовує розгорнутий процес ASP.NET Core.
Значення проксі в launchSettings.json належить профілю запуску для розробки. Публікація застосунку не робить цей профіль середовищем робочого процесу IIS, служби чи контейнера.
У разі збою в розгорнутому середовищі перевірте процес, який справді запускає застосунок. Його середовище, обліковий запис і обробник HTTP визначають, які вхідні дані проксі доступні.
| Де це працює | Що порівняти після розгортання |
|---|---|
| Профіль запуску в IDE | Середовище процесу-хоста |
| Інтерактивний сеанс користувача | Обліковий запис служби та його параметри проксі |
| Клієнт HTTP, створений вручну | Обробник, який використовує впроваджений клієнт застосунку |
Ініціалізація проксі за замовчуванням у сучасному HttpClient підкоряється залежним від платформи правилам середовища та системної конфігурації. Явно налаштований обробник може перевизначити ці значення за замовчуванням. З IHttpClientFactory перевірте реєстрацію основного обробника іменованого клієнта та ім'я, отримане в місці виклику. Перевірте обидва входи, перш ніж робити висновок, що файл конфігурації проігноровано.
Старі приклади system.net/defaultProxy з .NET Framework описують іншу модель конфігурації. Не вставляйте цей розділ у сучасний файл розгортання і не припускайте, що його використовує кожна реалізація HTTP у .NET. Під час розгортання в IIS модуль ASP.NET Core також має підтримуваний механізм налаштування середовища процесу; зберігайте решту конфігурації хостингу, додаючи значення.
Зафіксуйте, чи існує очікувана змінна, не публікуючи її повне значення з обліковими даними. Потім переконайтеся, що клієнт, який виконує невдалий запит, використовує це джерело. Правильно налаштований запускач не може виправити клієнт, який навмисно використовує інший маршрут.