"HTTP 400 - помилковий запит (запит задовгий заголовок)" помилка в інформаційних службах Інтернету (IIS)

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 2020943
ОЗНАКИ

Користувача домену, спроби перейти на веб-сайт, розміщений на інформаційних служб Інтернету (IIS) 6.0 або пізнішої версії, за допомогою Internet Explorer 6.0 або пізнішої версії.  Веб-сайт настроєно на використання автентифікації Kerberos.  Замість того, щоб отримувати очікування веб-сторінки, користувач з'явиться повідомлення про помилку, подібне до такого:

HTTP 400 - помилковий запит (задовгий заголовок запиту)

ПРИЧИНА

Ця проблема може виникнути, після того, як користувач належить багато можливості груп користувачів Active Directory. Коли користувач входить до великої кількості служби active directory, груп маркер автентифікації Kerberos, користувач збільшення розміру. Запит HTTP, які користувач надсилає сервера IIS, містить заголовок WWW-Authenticate, маркер Kerberos, і розмір заголовка, збільшує кількість груп, що йде.  Якщо заголовок HTTP, або розмір пакета в збільшує останніх меж, які настроєно у службі IIS, IIS може відхилити запит та надсилання цієї помилки відповіді.

РОЗВ'ЯЗАНН

Щоб вирішити цю проблему, виберіть один із таких параметрів:

A), зменшити кількість груп Active Directory, що користувач є членом.

OR

B) змінити на MaxFieldLength та параметри реєстру MaxRequestBytes на веб-сервері IIS, таким чином користувача запит заголовки надто довго не розглядаються.  Щоб визначити відповідні настройки на MaxFieldLength і MaxRequestBytes записи реєстру, використовуйте нижче обчислення:

    1. Внутрішніх Kerberos маркера користувача, за допомогою формули, описані в цій статті:

      Нове вирішення проблем за допомогою Kerberos автентифікації, коли користувачі, які належать до багатьох груп
      http://support.microsoft.com/kb/327825


    2. Настроювання в MaxFieldLength та MaxRequestBytes розділів реєстру, значення, сервера IIS4/3 * T, T , де є користувача маркерів розмір у байтах. HTTP-кодує маркер Kerberos, використовуючи, кодування base64, і таким чином, замінює кожні 3 байтів маркера з 4 base64 закодовані байт.  Зміни, внесені до реєстру не наберуть сили, доки не буде перезавантажено служби HTTP. Крім того, ви, можливо, доведеться перезавантажити будь-які пов'язані з IIS послуги.

Примітка: Залежно від вашого застосунку в середовищі, можна також використовувати настроювання веб-сайт, на використання NTLM, замість Kerberos, щоб вирішити цю проблему.  Застосунок умов, потребують Kerberos для делегування потреб і Kerberos є безпечніше NTLM, тому рекомендується не вимикати Kerberos перед безпеки та делегування наслідки цього.


ДОДАТКОВІ ВІДОМОСТІ

За промовчанням запис реєстру MaxFieldLength немає. Цей запис реєстру вказує на максимально дозволений кожного заголовок HTTP-запиту. Запис реєстру MaxRequestBytes вказує на верхній обмеження на загальний розмір рядка запиту, заголовки. Як правило, цей запис реєстру настроєно з MaxRequestBytes реєстру. Якщо значення MaxRequestBytes перевищує значення MaxFieldLength, значення MaxFieldLength коригується.  У великих середовищі Active Directory користувачі можуть зіткнутись помилок входу, якщо не встановлено значення для обох цих записів достатньо високе значення.

Для інформаційних служб Інтернету (IIS) 6.0 та пізніших версіях, MaxFieldLength та MaxRequestBytes розділів реєстру, можна знайти за адресоюHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters.  Настроювання, указаними в наведеній нижче таблиці:

Ім'я

Тип значення

Значення

MaxFieldLength

DWORD

(4/3 * T байт) + 200

MaxRequestBytes

DWORD

(4/3 * T байт) + 200

Крім того, ви можете встановити розділів реєстру нижче максимального значення. Адміністратор слід враховувати всі потенційні наслідки з безпеки, якщо він має будь-які зміни до настройок реєстру:

 

Ім'я

Тип значення

Значення

MaxFieldLength

DWORD

65534

MaxRequestBytes

DWORD

16777216

Важливо: Змінення цих розділів реєстру можна вважати надзвичайно небезпечні. Ці розділи, дозволяють великі пакети протоколу HTTP, на який, у свою чергу, може призвести до HTTP. sys використовувати більше пам'яті і може, підвищити вразливість до атак IIS.

Примітка: Якщо настройки MaxFieldLength максимального значення 64 Кб, а потім 3 та 4 слід установити значення реєстру MaxTokenSize * 64 = 48 КБ.  Щоб отримати додаткові відомості про налаштування MaxTokenSize див. KB327825, перелічені нижче статті бази знань Microsoft.

Щоб отримати додаткові відомості про питання, які розглядаються в цій статті, можна знайти за такими адресами:

Настройки реєстру HTTP. sys, для служб IIS
http://support.Microsoft.com/kb/820129/EN-US

Журналювання помилок в HTTP API
http://support.Microsoft.com/?ID=820729

Нове вирішення проблем, з автентифікацією Kerberos, коли користувачі, які належать до багатьох груп
http://support.Microsoft.com/kb/327825

Повідомлення про помилку, коли в Outlook Web Access, користувач намагається отримати доступ до поштової скриньки на сервері Exchange Server 2003
http://support.Microsoft.com/kb/920862

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 2020943 – останній перегляд: 10/26/2015 17:27:00 – виправлення: 1.0

  • kbmt KB2020943 KbMtuk
Зворотний зв’язок