Partager via


Erreur « Requête incorrecte HTTP 400 » lors du proxy de requêtes HTTP d’un Exchange Server vers une version précédente de Exchange Server

Symptômes

Lorsqu’un utilisateur tente de proxy une requête HTTP à partir d’un serveur Microsoft Exchange Server 2016 qui exécute le service d’accès au client ou d’un serveur d’accès au client Microsoft Exchange Server 2013 vers une version antérieure de Exchange Server, l’utilisateur peut recevoir le message d’erreur suivant :

Cette erreur (requête incorrecte HTTP 400) signifie que Explorer Internet a pu se connecter au serveur web, mais que la page web est introuvable en raison d’un problème avec l’adresse.

En outre, les journaux HTTPERR sur le serveur d’accès au client Microsoft Exchange Server 2010 ou Microsoft Exchange Server 2007 peuvent afficher l’un des éléments suivants pour la ressource HTTP demandée par l’utilisateur :

2014-07-24 16:48:06 192.168.137.113 53335 192.168.137.110 443 HTTP/1.1 GET /owa/ 400 - RequestLength -

2014-07-24 16:48:06 192.168.137.113 53335 192.168.137.110 443 HTTP/1.1 GET /owa/ 400 - FieldLength - 

En outre, vous pouvez voir ce qui suit dans les journaux de ressources> Exchange Server <Exchange Server chemin> d’installation\Logging\HttpProxy\<Http sur le serveur d’accès au client Exchange Server 2013 :

2014-07-24T16:56:17.806Z,ddf5379e-4a97-4833-b331-36328b9f8b58,15,0,913,7,,Owa,outlook.Wingtiptoys.com,/owa/,,Negotiate,True,WINGTIPTOYS\user003,,Sid~S-1-5-21-3205615561-4199783494-2467053687-1128,Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; .NET CLR 3.5.30729; .NET CLR 3.0.30729),192.168.137.113,WINGTIP-E2K13,400,400,,GET,Proxy,wingtip-e2k10.wingtiptoys.com,14.03.0123.000,IntraForest,WindowsIdentity-ServerCookie,Server~WINGTIP-E2K10.Wingtiptoys.com~1937997947~07/24/2014 17:01:18,,,0,342,1,,4,14,,0,,0,,0,0,,0,46.8744,0,,,,18,0,1,0,0,1,38,1,20,20,20,24,43,,,BeginRequest=2014-07-24T16:56:17.759Z;CorrelationID=<empty>;ProxyState-Run=None;ProxyToDownLevel=True;BeginGetResponse=2014-07-24T16:56:17.791Z;OnResponseReady=2014-07-24T16:56:17.806Z;EndGetResponse=2014-07-24T16:56:17.806Z;ProxyState-Complete=ProxyResponseData;EndRequest=2014-07-24T16:56:17.806Z;,WebExceptionStatus=ProtocolError;ResponseStatusCode=400;WebException=System.Net.WebException: The remote server returned an error: (400) Bad Request. at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at Microsoft.Exchange.HttpProxy.ProxyRequestHandler.<>c__DisplayClass2a.<OnResponseReady>b__28();  

Cause

Ce problème peut se produire si l’utilisateur est membre de nombreux groupes Active Directory. Ce problème peut se produire pendant le processus de proxy de Exchange Server 2016 ou Exchange Server 2013 au cas Exchange Server 2010.

Résolution

Pour résoudre ce problème, utilisez l’une des méthodes suivantes :

  • Réduisez le nombre de groupes Active Directory attribués à l’utilisateur.

  • Sur chaque site d’administration centrale Exchange 2010, recherchez la sous-clé suivante :

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  • Sous cette sous-clé, augmentez les entrées MaxFieldLength et MaxRequestBytes en utilisant les valeurs du tableau suivant.

    Nom de la valeur Type de valeur Données de la valeur Base de la valeur
    MaxFieldLength DWORD 65536 Décimal
    MaxRequestBytes DWORD 65536 Décimal

    Notes

    • Cette modification nécessite un redémarrage du site d’administration centrale.
    • Si les entrées n’existent pas pour MaxFieldLength et MaxRequestBytes, créez les entrées manuellement.

Informations supplémentaires

Importante

La modification de ces clés de Registre peut être extrêmement dangereuse. L’augmentation des valeurs permet d’envoyer des paquets HTTP plus volumineux à IIS, ce qui peut entraîner l’utilisation de Http.sys plus de mémoire et augmenter la vulnérabilité aux attaques malveillantes.

  • La valeur recommandée pour Exchange Server coexistence est 65536.

    Remarque

    La valeur doit être 65536 pour Exchange Server. Il ne doit pas être 65534, comme indiqué dans La base de connaissances 2020943. Ce paramètre est destiné aux services Iis (Internet Information Services). Cette différence est due à des exigences supplémentaires pour Exchange Server.

  • Dans certains cas, une valeur MaxFieldLength de 65536 peut ne pas résoudre le problème. Dans ce cas, nous vous recommandons de réduire la taille du jeton d’accès de l’utilisateur en supprimant les groupes au lieu d’augmenter la valeur.

  • L’augmentation de la valeur de MaxRequestBytes pour qu’elle soit supérieure à 65536 comporte des risques. Par conséquent, nous vous déconseillons de le faire. Ces risques sont décrits en détail dans kb 820129. Un code d’avertissement 1 est affecté à cette clé pour indiquer un risque élevé de modification de la valeur par défaut.