Налады проксі ASP.NET Core: launchSettings.json супраць прадукцыйнага асяроддзя
Адрознівайце значэнні проксі з профілю запуску для распрацоўкі ад асяроддзя і HTTP-апрацоўніка разгорнутага працэсу ASP.NET Core.
Значэнне проксі ў launchSettings.json належыць профілю запуску для распрацоўкі. Публікацыя праграмы не робіць гэты профіль асяроддзем працоўнага працэсу IIS, службы або кантэйнера.
Пры збоі ў разгорнутым асяроддзі праверце працэс, які фактычна запускае праграму. Яго асяроддзе, уліковы запіс і HTTP-апрацоўнік вызначаюць, якія ўваходныя дадзеныя проксі даступныя.
| Дзе працуе | Што параўнаць пасля разгортвання |
|---|---|
| Профіль запуску IDE | Асяроддзе працэсу хаста |
| Інтэрактыўны сеанс карыстальніка | Уліковы запіс службы і яе налады проксі |
| Створаны ўручную HTTP-кліент | Апрацоўнік, які выкарыстоўвае ўкаранёны кліент праграмы |
Ініцыялізацыя праксі па змаўчанні ў сучасным HttpClient мае залежныя ад платформы правілы асяроддзя і сістэмнай канфігурацыі. Яўна наладжаны апрацоўнік можа перакрыць гэтыя значэнні па змаўчанні. З IHttpClientFactory праверце рэгістрацыю асноўнага апрацоўніка названага кліента і імя, атрыманае ў месцы выкліку. Праверце абодва ўваходныя пункты, перш чым рабіць выснову, што файл канфігурацыі быў праігнараваны.
Старыя прыклады .NET Framework system.net/defaultProxy апісваюць іншую мадэль канфігурацыі. Не ўстаўляйце гэты раздзел у сучасны файл разгортвання і не мяркуйце, што кожная рэалізацыя HTTP у .NET яго спажывае. Пры разгортванні ў IIS модуль ASP.NET Core таксама мае падтрыманы механізм канфігурацыі асяроддзя працэсу; захоўвайце астатнюю частку канфігурацыі хастынгу пры даданні значэнняў.
Зафіксуйце, ці існуе чаканая зменная, не публікуючы яе поўнае значэнне з уліковымі дадзенымі. Затым пераканайцеся, што кліент, які выконвае няўдалы запыт, выкарыстоўвае гэтую крыніцу. Правільна наладжаны запускальнік не можа выправіць кліент, які наўмысна выкарыстоўвае іншы маршрут.