IIS7.5 в Windows Server 2008 R2 (VPS) - ошибка 400 при запросе POST - PullRequest
2 голосов
/ 30 мая 2011

У меня новый VPS-сервер под управлением 2008 R2 и IIS 7.5.

Некоторое клиентское программное обеспечение (не браузер) связывается с серверным приложением (ASP.NET) через запросы HTTP GET и POST.

На IIS7.5 запросы HTTP POST отклоняются с ошибкой:«Ошибка HTTP 400 - запрос сформирован неверно»

Это же приложение работает без проблем в IIS7 и много лет работало в IIS6.

Я могу только предположить, что IIS7.5 выполняет дополнительную проверкучеки?Есть ли способ их отключить?Я перепробовал все настройки, которые нашел в MSDN, но пока что ничего не работает, и я даже не могу заставить IIS создать дамп журнала отклоненных запросов!

Изменение кода клиента не является вариантом.

Ниже приведен запрос POST, который не выполняется.

Спасибо, Никос.

POST /NK002/Inbound.ashx?rid=0 HTTP/1.1
User-Agent: nkHTTP_1
Accept: */*
Accept-Encoding: identity; application/octet-stream; application/x-www-form-urlencoded
Host: www.nks001.com
Connection: keep-alive
Content-Length: 307

<nkXML>
  <header count="2">
    <service>Connection</service>
    <function>Initialize</function>
  </header>
  <body count="4">
    <platform>Windows</platform>
    <data>BbbFBwAAAABFPaRkAAAAAHN5aE8AAAAA</data>
    <attName_0>PoolRebel.Version</attName_0>
    <attValue_0>2</attValue_0>
  </body>
</nkXML>

1 Ответ

1 голос
/ 31 мая 2011

Проблема в вашем Accept-Encoding: заголовке.Последние два Content-Codings недействительны:

application/octet-stream
application/x-www-form-urlencoded

В соответствии с допустимыми значениями IANA Content-Coding вы можете использовать только:

compress
deflate
exi
gzip
indentity
pack200-gzip

Протокол передачи гипертекста(HTTP) Параметры - IANA

IIS7.5 более строго придерживается стандартов, чем предыдущие версии.

Обновление:

Дальнейшие исследования по поводу созданного обсуждения на этом форуме:

Тема: IIS 7.5 Accept-Encoding терпит неудачу с несколькими значениями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...