Al momento sei offline in attesa che la connessione Internet venga ristabilita

Errore "HTTP 400 - richiesta non valida (intestazione della richiesta troppo lungo)" in Internet Information Services (IIS)

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2020943
Sintomi

Un utente di dominio tenta di esplorare un sito Web ospitato in Internet Information Services (IIS) 6.0 o successiva utilizzando Internet Explorer 6.0 o versioni successive.  Il sito Web è configurato per utilizzare l'autenticazione Kerberos.  Invece di ricevere la consueta pagina web, viene visualizzata con un messaggio di errore analogo al seguente:

HTTP 400 - richiesta non valida (intestazione della richiesta troppo lungo)

Cause

Questo problema può verificarsi quando l'utente è membro di numerosi gruppi di utenti di Active Directory. Quando un utente è membro di un numero elevato di active directory raggruppa il token di autenticazione Kerberos per l'utente aumenta le dimensioni. La richiesta HTTP che l'utente invia al server IIS contiene il token Kerberos nell'intestazione WWW-Authenticate, e la dimensione dell'intestazione aumenta man mano che aumenta il numero di gruppi.  Se l'intestazione HTTP o del pacchetto aumenta oltre i limiti configurati in IIS, IIS può rifiutare la richiesta e inviare l'errore come risposta.

Risoluzione

Per risolvere questo problema, scegliere una delle seguenti opzioni:

A) ridurre il numero di gruppi di Active Directory che l'utente è un membro di.

Oppure

B) modificare il MaxFieldLength e le impostazioni del Registro di sistema MaxRequestBytes sul server IIS in modo che le intestazioni di richiesta dell'utente non sono considerate troppo lunghe.  Per determinare le impostazioni appropriate per il MaxFieldLength e le voci del Registro di sistema MaxRequestBytes, utilizzare i seguenti calcoli:

    1. Calcolare la dimensione del token Kerberos dell'utente utilizzando la formula descritta nel seguente articolo:

      Autenticazione nuova risoluzione dei problemi relativi a Kerberos quando gli utenti appartengono a molti gruppi
      http://support.microsoft.com/kb/327825


    2. Configurare il MaxFieldLength e le chiavi del Registro di sistema MaxRequestBytes sul server IIS con un valore di4/3 * T, dove T è di dimensione del token dell'utente, in byte. HTTP consente di codificare il token Kerberos utilizzando la codifica base64 e pertanto sostituisce ogni 3 byte nel token con 4 base64 codificata di byte.  Le modifiche apportate al Registro di sistema saranno effettive finché non si riavvia il servizio HTTP. Inoltre, potrebbe essere necessario riavviare i servizi IIS correlati.

Nota: A seconda dell'ambiente di applicazione, è inoltre possibile configurare il sito web per utilizzare NTLM anziché Kerberos per risolvere il problema.  Alcuni ambienti applicativi richiedono l'autenticazione Kerberos essere utilizzati per scopi di delega e Kerberos è più sicuro di NTLM, pertanto si consiglia di non disattivare Kerberos prima di considerare le implicazioni di protezione e delega dell'operazione.


Informazioni

Per impostazione predefinita, la voce del Registro di sistema MaxFieldLength non è presente. Questa voce del Registro di sistema specifica il limite massimo di ogni intestazione di richiesta HTTP. La voce del Registro di sistema MaxRequestBytes specifica il limite superiore per la dimensione totale della riga della richiesta e delle intestazioni. In genere, questa voce del Registro di sistema è configurata con la voce del Registro di sistema MaxRequestBytes. Se il valore di MaxRequestBytes è inferiore al valore di MaxFieldLength, il valore di MaxFieldLength viene modificato.  Nei grandi ambienti Active Directory, gli utenti potrebbero verificarsi errori di accesso, se i valori per entrambe queste voci non sono impostati su un valore sufficientemente elevato.

Per Internet Information Services (IIS) 6.0 e versioni successive, le chiavi del Registro di sistema MaxFieldLength e MaxRequestBytes si trovano nella chiave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters..  Configurarli come illustrato nella seguente tabella:

Nome

Tipo di valore

Dati valore

MaxFieldLength

DWORD

(4/3 * byte T) + 200

MaxRequestBytes

DWORD

(4/3 * byte T) + 200

In alternativa è possibile impostare le chiavi del Registro di sistema sui valori massimo indicati di seguito. L'amministratore è necessario considerare tutti i potenziali ramificazioni di protezione se egli apportata alcuna modifica alle impostazioni del Registro di sistema:

 

Nome

Tipo di valore

Dati valore

MaxFieldLength

DWORD

65534

MaxRequestBytes

DWORD

16777216

Importante: La modifica di queste chiavi del Registro di sistema può essere considerata estremamente pericolosa. Queste chiavi consentono maggiori pacchetti HTTP inviato a IIS, che a sua volta può causare HTTP. sys di utilizzare più memoria e può aumentare vulnerabilità ad attacchi dannosi.

Nota: Se MaxFieldLength è impostato il valore massimo di 64KB, quindi impostare il valore del Registro di sistema MaxTokenSize su 3/4 * 64 = 48 KB.  Per ulteriori informazioni sull'impostazione MaxTokenSize, vedere l'articolo della knowledge base Microsoft che kb327825 elencati di seguito.

Ulteriori informazioni sugli argomenti discussi in questo articolo sono disponibili nelle seguenti posizioni:

Impostazioni del Registro di sistema HTTP. sys per IIS
http://support.microsoft.com/kb/820129/en-us

Errore di registrazione nelle API HTTP
http://support.microsoft.com/?ID=820729

Nuova risoluzione dei problemi con l'autenticazione Kerberos quando gli utenti appartengono a molti gruppi
http://support.microsoft.com/kb/327825

Messaggio di errore quando un utente di Outlook Web Access tenta di accedere a una cassetta postale in Exchange Server 2003
http://support.microsoft.com/kb/920862

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 2020943 - Ultima revisione: 11/03/2015 01:54:00 - Revisione: 2.0

Microsoft Internet Information Services 10.0, Microsoft Internet Information Services 8.5, Microsoft Internet Information Services 8.0, Microsoft Internet Information Services 7.5, Microsoft Internet Information Services 7.0, Microsoft Internet Information Services 6.0

  • kbmt KB2020943 KbMtit
Feedback