当用户尝试将运行客户端访问服务的 Microsoft Exchange Server 2016 服务器或 Microsoft Exchange Server 2013 客户端访问服务器 (CAS) 的 HTTP 请求代理到以前的Exchange Server版本时,用户可能会收到以下错误消息:
此错误 (HTTP 400 错误请求) 意味着 Internet Explorer 能够连接到 Web 服务器,但由于地址出现问题而找不到网页。
此外,Microsoft Exchange Server 2010 或 Microsoft Exchange Server 2007 客户端访问服务器上的 HTTPERR 日志可能会显示以下用户请求的 HTTP 资源之一:
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 -
此外,在 Exchange Server Exchange Server < 2013 客户端访问服务器 Exchange Server上安装 Path>\Logging\HttpProxy\<Http 资源>日志时,可能会看到以下内容:
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();
如果用户是许多 Active Directory 组的成员,则可能会出现此问题。 从 2016 Exchange Server或 Exchange Server 2013 CAS 到 Exchange Server 2010 CAS 的代理过程中可能会出现此问题。
要解决此问题,请使用以下方法之一:
减少分配给用户的 Active Directory 组的数量。
在每个 Exchange 2010 CAS 上,找到以下子项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
在此子项下,使用下表中的值增加 MaxFieldLength 和 MaxRequestBytes 条目。
对于Exchange Server,该值应为 65536。 它不应为 65534,如 KB 2020943中所示。 此设置适用于 Internet Information Services (IIS) 。 这种差异是因为Exchange Server的其他要求。
在某些情况下, MaxFieldLength 值 65536 可能无法解决问题。 如果发生这种情况,建议通过删除组而不是增加值来减小用户访问令牌的大小。
将 MaxRequestBytes 的值增加到更大的 65536 有风险。 因此,我们不建议执行此操作。 KB 820129详细讨论了这些风险。 此密钥的警告代码为 1,指示更改默认值的风险很高。