Родительские домены и поддомены в .NET NO_PROXY
Включайте родительский домен намеренно, когда политика прокси-сервера среды .NET должна обходить и его поддомены.
В документированных правилах прокси-сервера среды .NET .example.com соответствует поддоменам. Он не соответствует example.com самому. Это небольшое различие может разделить одну службу на два маршрута.
| Запись | Ожидаемое совпадение в .NET |
|---|---|
example.com | Имя родительского узла |
.example.com | Имена узлов под этим доменом |
example.com,.example.com | Обе группы |
Предположим, целевая страница использует родительское имя, а её API использует api.example.com. Список, содержащий только форму с точкой, может отправить целевую страницу через прокси, тогда как API идёт напрямую. Обратная ошибка — указать только родительский домен и ожидать совпадения для каждого дочернего. Проверьте HttpClient.DefaultProxy.IsBypassed для родительского домена и одного дочернего, чтобы убедиться в принятом решении.
Это относится к политике среды, которую использует участвующий HTTP-клиент .NET. Явно назначенный IWebProxy, другая реализация обработчика или другое поколение среды выполнения требуют проверки собственных правил. Не предполагайте, что список обхода браузера стал этим списком среды.
Также сопротивляйтесь привычке переводить параметр в *.example.com. Документированный синтаксис среды .NET не рассматривает звёздочку как общий подстановочный знак.
Сравнивая работающую команду curl с приложением, сохраняйте буквальный URL в отчёте. “Тот же сервер” скрывает, запрашивали вы родительский домен, поддомен или IP-адрес. Сопоставление домена происходит по этому входу запроса, а не по вашему неформальному названию службы.