Ошибка HTTP 400. Запрос имеет недопустимое имя заголовка/дублированный пользовательский агент

Мне нужно установить подключение через веб-сокет к серверной части ASP.NET Core 6 через сторонний шлюз API. По какой-то причине шлюз API добавляет в запрос дополнительный заголовок User-Agent, что приводит к неверному запросу (400).

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Header</h2>
<hr><p>HTTP Error 400. The request has an invalid header name.</p>
</BODY></HTML>

Хорошо, отправка двух пользовательских агентов как минимум сомнительна и должна быть исправлена ​​продуктом Gateway.

Что меня смущает, так это то, что один и тот же запрос работает при отправке в «общедоступную» службу приложений Azure, но не при отправке в службу приложений, размещенную в нашей «среде службы приложений Azure V2» (внутренний URL-адрес). Развернутый — это точно такой же пример кода, и служба приложений настроена с использованием тех же параметров. Мне не удалось зарегистрировать «Неверный запрос» в серверной части (без использования Application Insights и журналов службы приложений/Kudu).

Я начинаю сомневаться, что ошибка вызвана самой службой приложений. Любая идея, что может вызвать другое поведение или как я могу разрешить эти дублированные заголовки, пока их можно будет избежать?

Обновлять:

Похоже, такое поведение исходит от IIS. Мы также протестировали его на конечной точке на ASEv3, и там дублированные заголовки не представляют проблемы.

0 ответов

Другие вопросы по тегам