Azure Шлюз приложений не передает заголовок аутентификации в серверный пул - PullRequest
0 голосов
/ 09 июля 2020

У нас есть служба веб-API classi c asp. net, работающая на Azure ВМ (IIS) и настроенная как внутренний пул в шлюзе приложений azure, а служба API работает на windows NTLM-аутентификация (для поддержки обратной совместимости и зависимости от устаревшего компонента). Один из контроллеров в API предназначен для службы загрузки. и он работает нормально, пока я вызываю службу с помощью Insomnia / postman напрямую через конечную точку шлюза приложений. Но когда я пытаюсь использовать ту же конечную точку шлюза приложений через основное клиентское приложение. Net. это всегда неавторизовано. Шлюз приложений не отправляет заголовок NTLM в пул серверной части

Вот код клиента, который я использовал для использования службы

введите описание изображения здесь

1 Ответ

0 голосов
/ 10 июля 2020

После долгого дня поиска проблемы со шлюзом приложений и журналом IIS. Наконец, я смог разобраться в проблеме. Проблема в первую очередь связана с. Net Core HttpClient. HttpClient не смог отправить сведения заголовка NTLM при вызове метода PostAsyn c с данными из нескольких частей. Поэтому вместо вызова PostAsyn c я должен использовать метод SendAsyn c следующим образом после отключения SocketsHttpHandler

введите описание изображения здесь

...