Bir kullanıcıdan gelen HTTP istekleriyle Exchange Server sürümüne proxy bağlantısı bağlantısında "HTTP 400 Kötü İstek" Exchange Server

Belirtiler

Kullanıcı, istemci erişim hizmetini veya Microsoft Exchange Server 2013 İstemci Erişimi sunucusunu (CAS) çalıştıran bir Microsoft Exchange Server 2016 sunucusundan Exchange Server'in önceki bir sürümüne HTTP isteği ara sunucusu yapmaya çalıştığında, aşağıdaki hata iletisini alabilirsiniz:

Bu hata (HTTP 400 Hatalı İstek), Internet Explorer'ın web sunucusuna bağlanalı olduğu, ancak adresle ilgili bir sorun nedeniyle web sayfasının bulunamadı olduğu anlamına gelir.

Buna ek olarak, Microsoft Exchange Server 2010 veya Microsoft Exchange Server 2007 İstemci Erişimi sunucusundaKI HTTPERR günlükleri kullanıcının istekte olduğu HTTP kaynağı için aşağıdakilerden birini gösterebilir:

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 - 

Ayrıca, Exchange Server \ < 2013 İstemci Erişimi sunucusundaki Exchange Server <Exchange Server Yükleme Yolu>\Logging\HttpProxy Http> günlüklerinde de aşağıdakilere bakabilirsiniz:

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

Neden

Kullanıcı birçok Active Directory grubunun üyesi olduğunda bu sorun oluşabilir. 201 Exchange Server 6 veya Exchange Server 2013 CAS'tan 2010 CAS'a kadar olan proxy Exchange Server bu sorun oluşabilir.

Çözüm

Bu sorunu çözmek için aşağıdaki yöntemlerden birini kullanın:

  • Kullanıcıya atanan Active Directory gruplarının sayısını azaltma.

  • Her Exchange 2010 CAS'ta aşağıdaki alt anahtarı bulun:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  • Bu alt anahtarın altında, aşağıdaki tabloda yer alan değerleri kullanarak MaxFieldLength ve MaxRequestBytes girişlerini artırabilirsiniz.

    Değer adı Değer türü Value data Değer tabanı
    MaxFieldLength DWORD 65536 Decimal
    MaxRequestBytes DWORD 65536 Decimal

    Notlar

    • Bu değişiklik CAS'in yeniden başlatılmasını gerektirir.
    • MaxFieldLength ve MaxRequestBytes için girdiler yoksa, girdileri el ile oluşturun.

Daha Fazla Bilgi

Önemli

Kayıt defteri anahtarlarını değiştirmek son derece tehlikeli olabilir. Değerlerin artırılması, DAHA büyük HTTP paketlerinin IIS'ye gönderilmesine olanak sağlar ve bu da Http.sys fazla bellek kullanımına neden olabilir ve kötü amaçlı saldırılara karşı güvenlik açığını artırabilir.

  • Birlikte var olan her Exchange Server için önerilen değer 65536'dır.

    Not

    Değer, bu değer için 65536 Exchange Server. KB verilarında da belirtilen 65534 2020943. Bu ayar, Internet Information Services (IIS) içindir. Bu fark, e-Exchange Server.

  • Bazı durumlarda, 65536 MaxFieldLength değeri sorunu çözmeyebilir. Böyle bir durumda, değeri artırmak yerine grupları kaldırarak kullanıcının erişim belirtecinin boyutunu azaltmayı öneririz.

  • MaxRequestBytes değerinin daha büyük 65536 olması için bu değerin artırılmasının riskleri vardır. Bu nedenle, bunu yapmamanizi öneririz. Bu riskler KB veri ayrıntılarıyla 820129. Bu anahtara, varsayılan değeri değiştirme riskini yüksek olarak belirtmek için 1 uyarı kodu atanır.