Назад | Перейти на главную страницу

IIS отвечает «401 Unauthorized», не дожидаясь тела запроса.

Я заметил, что наш IIS 8.5 возвращается "401 Unauthorized"ответ на неаутентифицированный HTTP-запрос сразу после получения его заголовков, не дожидаясь тела:

клиент:

POST /some/protected/page HTTP/1.1
Host: server.example.org
Content-Length: 4666

сервер, не дожидаясь отдыха:

HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/8.5

клиент продолжает:

<xml>some large XML block of 4666 bytes in total</xml>

Само по себе это не представляет проблемы, но наш балансировщик нагрузки (FortiGate v6.0.3) решил действовать сообразительно, поэтому он отбрасывает тело запроса, увидев "401 Unauthorized"ответ. И это, как я понимаю, приводит к сбою следующего запроса по тому же каналу TCP, поскольку сервер интерпретирует следующие байты как полезную нагрузку, обещанную"Content-Length: 4666"заголовок.

Вопрос: можно ли заставить IIS ждать всего запроса, прежде чем отвечать 401?