Dela via


Felet "HTTP 400 Felaktig begäran" vid proxiering av HTTP-förfrågningar från en Exchange-server till en äldre version av Exchange-servern

Symtom

När en användare försöker skicka en HTTP-begäran från en Microsoft Exchange Server 2016-server som kör klientåtkomsttjänsten eller en Microsoft Exchange Server 2013 Client Access-server (CAS) till en tidigare version av Exchange Server kan användaren få följande felmeddelande:

Det här felet (HTTP 400 Felaktig begäran) innebär att Internet Explorer kunde ansluta till webbservern, men det gick inte att hitta webbsidan på grund av ett problem med adressen.

Dessutom kan HTTPERR-loggarna på Microsoft Exchange Server 2010 eller Microsoft Exchange Server 2007-klientåtkomstservern visa något av följande för HTTP-resursen som användaren begärde:

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 - 

Du kan också se följande i Exchange Server <Install Path>\Logging\HttpProxy\<Http resource> logs på Exchange Server 2013 klientåtkomstservern.

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();  

Orsak

Det här problemet kan inträffa om användaren är medlem i många Active Directory-grupper. Det här problemet kan inträffa under proxyprocessen från Exchange Server 2016 eller Exchange Server 2013 CAS till Exchange Server 2010 CAS.

Beslut

Använd en av följande metoder för att lösa problemet:

  • Minska antalet Active Directory-grupper som har tilldelats användaren.

  • Leta upp följande undernyckel på varje Exchange 2010 CAS:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  • Under den här undernyckeln ökar du posterna MaxFieldLength och MaxRequestBytes med hjälp av värdena i följande tabell.

    Värdenamn Värdetyp Värdedata Värdebas
    MaxFieldLength DWORD 65536 Decimal
    MaxRequestBytes DWORD 65536 Decimal

    Anteckningar

    • Den här ändringen kräver en omstart av CAS.
    • Om posterna inte finns för MaxFieldLength och MaxRequestBytes skapar du posterna manuellt.

Mer information

Viktigt!

Det kan vara mycket farligt att ändra dessa registernycklar. Om du ökar värdena kan större HTTP-paket skickas till IIS, vilket i sin tur kan leda till att Http.sys använder mer minne och kan öka sårbarheten för skadliga attacker.

  • Det rekommenderade värdet för Exchange Server-samexistens är 65536.

    Anteckning

    Värdet ska vara 65536 för Exchange Server. Det bör inte vara 65534, som anges i KB 2020943. Den inställningen gäller för IIS (Internet Information Services). Den här skillnaden beror på ytterligare krav för Exchange Server.

  • I vissa fall kanske ett MaxFieldLength-värde på 65536 inte åtgärdar problemet. Om detta inträffar rekommenderar vi att du minskar storleken på användarens åtkomsttoken genom att ta bort grupper i stället för att öka värdet.

  • Att öka värdet för MaxRequestBytes till större 65536 har risker. Därför rekommenderar vi inte att du gör detta. Dessa risker beskrivs i detalj i KB-820129. Den här nyckeln tilldelas en varningskod på 1 för att indikera en hög risk för att ändra standardvärdet.