Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

« HTTP 400 - Requête incorrecte (demande en-tête trop long) » erreur dans Internet Information Services (IIS)

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 2020943
Symptômes

Un utilisateur de domaine tente d'accéder à un site Web hébergé sur Internet Information Services (IIS) 6.0 ou version ultérieure à l'aide d'Internet Explorer 6.0 ou version ultérieur.  Le site Web est configuré pour utiliser l'authentification Kerberos.  Au lieu de recevoir la page web attendue, l'utilisateur est présenté avec un message d'erreur semblable au suivant :

HTTP 400 - Requête incorrecte (en-tête de requête trop long)

Cause

Ce problème peut se produire lorsque l'utilisateur est membre de plusieurs groupes d'utilisateurs Active Directory. Le jeton d'authentification Kerberos pour l'utilisateur augmente la taille des groupes lorsqu'un utilisateur est membre d'un grand nombre d'active directory. La demande HTTP que l'utilisateur envoie au serveur IIS contient le jeton Kerberos dans l'en-tête WWW-Authenticate, et augmente la taille de l'en-tête augmente le nombre de groupes.  Si l'en-tête HTTP ou une taille de paquet augmente au-delà des limites configurés dans IIS, IIS peut rejeter la demande et envoyer cette erreur comme réponse.

Résolution

Pour contourner ce problème, choisissez une des options suivantes :

A) de diminuer le nombre de groupes Active Directory que l'utilisateur est membre.

OU

B) modifier la MaxFieldLength et les paramètres de Registre MaxRequestBytes sur le serveur IIS les en-têtes de demande de l'utilisateur ne sont pas considérées comme trop longs.  Pour déterminer les paramètres appropriés pour le MaxFieldLength et les entrées de Registre MaxRequestBytes, utilisez les calculs suivants :

    1. Calculez la taille de jeton Kerberos de l'utilisateur à l'aide de la formule décrite dans l'article suivant :

      Nouvelle résolution des problèmes liés à Kerberos authentification lorsque les utilisateurs appartiennent à de nombreux groupes
      http://support.microsoft.com/kb/327825


    2. Configurer le MaxFieldLength et les clés de Registre MaxRequestBytes sur le serveur IIS avec une valeur de4/3 * T, où T est la taille de jeton de l'utilisateur, en octets. HTTP encode le jeton Kerberos à l'aide du codage base64 et par conséquent les octets encodés remplace tous les octets dans le jeton avec base64 4 3.  Les modifications apportées au Registre ne prendront effet qu'après le redémarrage du service HTTP. En outre, vous devrez peut-être redémarrer les services IIS liés.

Remarque : En fonction de votre environnement d'application, vous pouvez également envisager la configuration du site web pour utiliser NTLM et non Kerberos pour contourner ce problème.  Pour être utilisé à des fins de délégation Kerberos le requièrent certains environnements d'application et Kerberos est plus sûr que NTLM, il est recommandé que vous ne désactivez pas Kerberos avant de considérer les ramifications de sécurité et délégation de cela.


Plus d'informations

Par défaut, l'entrée de Registre MaxFieldLength n'est pas présente. Cette entrée de Registre spécifie la limite de taille maximale de chaque en-tête de demande HTTP. L'entrée de Registre MaxRequestBytes spécifie la limite supérieure de la taille totale de la ligne Request et des en-têtes. En général, cette entrée de Registre est configurée avec l'entrée de Registre MaxRequestBytes. Si la valeur de MaxRequestBytes est inférieure à la valeur de MaxFieldLength, la valeur MaxFieldLength est ajustée.  Dans les grands environnements Active Directory, les utilisateurs peuvent rencontrer des échecs de connexion si les valeurs de ces deux entrées ne sont pas définies sur une valeur suffisamment élevée.

Pour Internet Information Services (IIS) 6.0 et versions ultérieures, les clés de Registre MaxFieldLength et MaxRequestBytes se trouvent àHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters.  Configurez-les comme indiqué dans le tableau suivant :

Nom

Type de valeur

Données de la valeur

MaxFieldLength

DWORD

(4/3 * octets de T) + 200

MaxRequestBytes

DWORD

(4/3 * octets de T) + 200

Vous pouvez également définir les clés de Registre à leurs valeurs maximales ci-dessous. L'administrateur doit prendre en compte toutes les ramifications de sécurité potentiels si il effectue toutes les modifications apportées aux paramètres de Registre :

 

Nom

Type de valeur

Données de la valeur

MaxFieldLength

DWORD

65534

MaxRequestBytes

DWORD

16777216

IMPORTANT : La modification de ces clés de Registre peut être considéré comme extrêmement dangereuse. Ces clés permettent les paquets HTTP plus grands être envoyées à IIS, qui à son tour peut entraîner l'utilisation d'utiliser plus de mémoire et peut accroître la vulnérabilité aux attaques malveillantes.

Remarque : Si MaxFieldLength est configuré sur la valeur maximale de 64 Ko, alors que la valeur de Registre MaxTokenSize doit être définie à 3/4 * 64 = 48 Ko.  Pour plus d'informations sur le paramètre MaxTokenSize, consultez l'article de base de connaissances Microsoft que kb327825 ci-dessous.

Vous trouverez plus d'informations sur les sujets abordés dans cet article à l'adresse suivante :

Paramètres de Registre HTTP.sys pour IIS
http://support.Microsoft.com/kb/820129/en-us

Erreur de connexion dans HTTP API
http://support.Microsoft.com/?ID=820729

Nouvelle résolution des problèmes liés à l'authentification Kerberos lorsque les utilisateurs appartiennent à de nombreux groupes
http://support.Microsoft.com/kb/327825

Message d'erreur lorsqu'un utilisateur Outlook Web Access essaie d'accéder à une boîte aux lettres dans Exchange Server 2003
http://support.Microsoft.com/kb/920862

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 2020943 - Dernière mise à jour : 11/03/2015 01:53:00 - Révision : 2.0

Microsoft Internet Information Services 10.0, Microsoft Internet Information Services 8.5, Microsoft Internet Information Services 8.0, Microsoft Internet Information Services 7.5, Microsoft Internet Information Services 7.0, Microsoft Internet Information Services 6.0

  • kbmt KB2020943 KbMtfr
Commentaires
/html>