Condividi tramite


Errore "Richiesta non valida HTTP 400" durante il proxy di richieste HTTP da exchange Server a una versione precedente di Exchange Server

Sintomi

Quando un utente tenta di eseguire il proxy di una richiesta HTTP da un server di Microsoft Exchange Server 2016 che esegue il servizio di accesso client o un server Accesso client di Microsoft Exchange Server 2013 a una versione precedente di Exchange Server, l'utente potrebbe ricevere il messaggio di errore seguente:

Questo errore (HTTP 400 Richiesta non valida) indica che Internet Explorer è riuscito a connettersi al server Web, ma la pagina Web non è stata trovata a causa di un problema con l'indirizzo.

Inoltre, i log HTTPERR nel server Accesso client di Microsoft Exchange Server 2010 o Microsoft Exchange Server 2007 possono mostrare uno dei seguenti elementi per la risorsa HTTP richiesta dall'utente:

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 - 

Inoltre, è possibile visualizzare quanto segue nel percorso di installazione di <Exchange Server\Logging\HttpProxy\>< sui registri del server di Accesso Client di 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();  

Causa

Questo problema può verificarsi se l'utente è membro di molti gruppi di Active Directory. Questo problema può verificarsi durante il processo proxy da Exchange Server 2016 o Exchange Server 2013 CAS a Exchange Server 2010 CAS.

Risoluzione

Per risolvere il problema, utilizzare uno dei seguenti metodi:

  • Ridurre il numero di gruppi di Active Directory assegnati all'utente.

  • In ogni cas di Exchange 2010 individuare la sottochiave seguente:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

  • In questa sottochiave, aumenta le voci MaxFieldLength e MaxRequestBytes utilizzando i valori nella tabella seguente.

    Nome valore Tipo di valore Valore dei dati Base di valore
    Lunghezza massima del campo DWORD 65536 Decimale
    MaxRequestBytes DWORD 65536 Decimale

    Note

    • Questa modifica richiede un riavvio del CAS.
    • Se le voci non esistono per MaxFieldLength e MaxRequestBytes, creare le voci manualmente.

Ulteriori informazioni

Importante

La modifica di queste chiavi del Registro di sistema potrebbe essere estremamente pericolosa. L'aumento dei valori consente l'invio di pacchetti HTTP più grandi a IIS, il che a sua volta potrebbe causare l'uso di più memoria Http.sys e potrebbe aumentare la vulnerabilità agli attacchi dannosi.

  • Il valore consigliato per la coesistenza di Exchange Server è 65536.

    Nota

    Il valore deve essere 65536 per Exchange Server. Non deve essere 65534, come indicato in KB 2020943. Questa impostazione è per Internet Information Services (IIS). Questa differenza è dovuta a requisiti aggiuntivi per Exchange Server.

  • In alcuni casi, un valore MaxFieldLength pari a 65536 potrebbe non risolvere il problema. In questo caso, è consigliabile ridurre le dimensioni del token di accesso dell'utente rimuovendo i gruppi invece di aumentare il valore.

  • L'aumento del valore di MaxRequestBytes a un valore maggiore di 65536 comporta rischi. Pertanto, non è consigliabile eseguire questa operazione. Questi rischi sono descritti in dettaglio in KB 820129. A questa chiave viene assegnato un codice di avviso pari a 1 per indicare un rischio elevato per la modifica del valore predefinito.