Erro "HTTP 400 - Solicitação incorreta (solicitação de cabeçalho muito longo)" no Internet Information Services (IIS)

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 2020943
Sintomas

Um usuário de domínio tenta navegar em um site hospedado no Internet Information Services (IIS) 6.0 ou mais recente usando o Internet Explorer 6.0 ou posterior.  O site está configurado para usar a autenticação Kerberos.  Em vez de receber a página da web esperada, o usuário receberá uma mensagem de erro semelhante à seguinte:

HTTP 400 - Solicitação incorreta (cabeçalho de solicitação muito longo)

Causa

Esse problema pode ocorrer quando o usuário é membro de muitos grupos de usuário do Active Directory. Quando um usuário é membro de um grande número de active directory agrupa o token de autenticação Kerberos para o usuário aumenta em tamanho. A solicitação HTTP que o usuário envia para o servidor IIS contém o token Kerberos no cabeçalho WWW-Authenticate e o tamanho do cabeçalho aumenta conforme aumenta o número de grupos.  Se o cabeçalho HTTP ou tamanho de pacote aumenta além dos limites configurados no IIS, o IIS pode rejeitar a solicitação e enviar esse erro como resposta.

Resolução

Para contornar esse problema, escolha uma das opções a seguir:

A) diminua o número de grupos do Active Directory que o usuário é membro.

OU

B) modificar o MaxFieldLength e as configurações de registro MaxRequestBytes no servidor IIS para que cabeçalhos de solicitação do usuário não são considerados muito longos.  Para determinar as configurações apropriadas para o MaxFieldLength e as entradas de registro MaxRequestBytes, use os seguintes cálculos:

    1. Calcule o tamanho de token Kerberos do usuário usando a fórmula descrita no seguinte artigo:

      Nova resolução para problemas com o Kerberos autenticação quando usuários pertencem a muitos grupos
      http://support.microsoft.com/kb/327825


    2. Configurar o MaxFieldLength e as chaves de registro MaxRequestBytes no servidor IIS com um valor de4/3 * T, onde T é o tamanho de token do usuário, em bytes. HTTP codifica o token Kerberos usando codificação base 64 e, portanto, substitui cada 3 bytes no token com 4 base64 codificado bytes.  As alterações feitas no registro não terão efeito até que você reinicie o serviço HTTP. Além disso, talvez seja necessário reiniciar os serviços IIS relacionados.

Observação: Dependendo do ambiente do aplicativo, você pode também considerar Configurando o site para usar NTLM Kerberos como solução alternativa para esse problema.  Alguns ambientes de aplicativo exigem Kerberos a ser usado para fins de delegação e Kerberos é mais seguro do que o NTLM, portanto é recomendável que você não desative Kerberos antes de considerar as implicações de segurança e delegação de fazê-lo.


Mais Informações

Por padrão, a entrada de registro MaxFieldLength não está presente. Essa entrada do registro Especifica o limite de tamanho máximo de cada cabeçalho de solicitação HTTP. A entrada de registro MaxRequestBytes Especifica o limite superior para o tamanho total da linha solicitação e os cabeçalhos. Normalmente, essa entrada do registro está configurada com a entrada de registro MaxRequestBytes. Se o valor MaxRequestBytes for menor que o valor MaxFieldLength, o valor MaxFieldLength será ajustado.  Em grandes ambientes do Active Directory, os usuários podem enfrentar falhas de logon, se os valores de ambas essas entradas não estiverem definidos para um valor suficientemente alto.

Para o Internet Information Services (IIS) 6.0 e posterior, as chaves de registro MaxFieldLength e MaxRequestBytes estão localizadas emHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters.  Configurá-los, conforme mostrado na tabela a seguir:

Nome

Tipo de valor

Dados do valor

MaxFieldLength

DWORD

(4/3 * bytes T) + 200

MaxRequestBytes

DWORD

(4/3 * bytes T) + 200

Como alternativa, você pode definir as chaves do registro para os valores máximo mostrados abaixo. O administrador deve considerar todas as ramificações de segurança em potencial se ele faz as alterações para as configurações do registro:

 

Nome

Tipo de valor

Dados do valor

MaxFieldLength

DWORD

65534

MaxRequestBytes

DWORD

16777216

IMPORTANTE: Alterar essas chaves do registro pode ser considerado extremamente perigosa. Essas teclas permitem maiores pacotes HTTP a ser enviado ao IIS, que por sua vez, pode fazer com que o HTTP. sys usa mais memória e pode aumentar a vulnerabilidade a ataques mal-intencionados.

Observação: Se MaxFieldLength é definida como o valor máximo de 64KB, o valor de registro MaxTokenSize deve ser definido como 3/4 * 64 = 48 KB.  Para obter mais informações sobre a configuração de MaxTokenSize, consulte o artigo do Microsoft knowledge base que kb327825 listados abaixo.

Para obter mais informações sobre os tópicos discutidos neste artigo podem ser encontradas nos seguintes locais:

Configurações de registro do HTTP. sys para IIS
http://support.microsoft.com/kb/820129/en-US

Log de erros no API HTTP
http://support.microsoft.com/?ID=820729

Nova resolução para problemas com a autenticação Kerberos quando os usuários pertencem a muitos grupos
http://support.microsoft.com/kb/327825

Mensagem de erro quando um usuário do Outlook Web Access tenta acessar uma caixa de correio no Exchange Server 2003
http://support.microsoft.com/kb/920862

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2020943 - Última Revisão: 11/03/2015 01:55:00 - Revisão: 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 KbMtpt
Comentários