Почему http.sys (до IIS) возвращает badrequest, когда запросы имеют определенные приемлемые значения заголовка accept-encoding? - PullRequest
0 голосов
/ 09 января 2020

При наличии веб-приложения (netcoreapp3.0, размещенного в IIS) - любые запросы с определенными значениями для заголовка Accept-Encoding никогда не попадают в приложение. http.sys анализирует и выдает 400 - BadRequest.

, т. е. Accept-Encoding: application / gzip, gzip

Возможно, проблема в символе '/'.

Мы не контролируем клиента (-ов) и хотели бы не просить, чтобы он соответствовал / изменил запросы своих клиентов. Их запросы работают с другими (не IIS) серверами.

Если только я не читаю spe c неправильно - я считаю, что указанное выше значение действительно для заголовка. Мысль о том, чтобы спросить или сообщить об ошибке в github - dotnet / aspnetcore - но не уверен, что это ошибка.

Спасибо за любой совет.

Хотел бы избежать Kestrel w / apache | nginx обратный прокси.

1 Ответ

0 голосов
/ 09 января 2020

Насколько я знаю, accept и accept-Encoding не совпадают в заголовке. Итак, вы прочитали не ту статью.

Правильная статья RF C: https://tools.ietf.org/html/rfc7231#section -5.3.4

  The "Accept-Encoding" header field can be used by user agents to
   indicate what response content-codings (Section 3.1.2.1) are
   acceptable in the response.  An "identity" token is used as a synonym
   for "no encoding" in order to communicate when no encoding is
   preferred.

     Accept-Encoding  = #( codings [ weight ] )
     codings          = content-coding / "identity" / "*"

Так что она не поддерживает «/». Невозможно изменить параметр, чтобы разрешить IIS доступ к неправильному заголовку.

...