Erro HTTP 400 Solicitação incorreta ao acessar uma caixa de correio do Exchange 2007
Tópico modificado em: 2008-10-19
Este tópico fornece informações sobre como solucionar um problema de mensagem de erro que os usuários do Microsoft Outlook Web Access podem enfrentar em um grande ambiente do Microsoft Exchange Server 2007.
Quando um usuário tentar acessar uma caixa de correio do Exchange 2007 usando o Outlook Web Access, o usuário recebe uma mensagem de erro parecida com a seguinte:
HTTP 400 Solicitação incorreta (o cabeçalho da solicitação é muito longo) |
Causa
Esse problema pode ocorrer se as condições a seguir forem verdadeiras:
A função de servidor Caixa de Correio do Exchange 2007 está hospedada em um computador executando o Windows Server 2003.
O usuário é um membro de muitos grupos. Por exemplo, o usuário é membro de mais de cem grupos de segurança.
Resolução
Aviso
UNRESOLVED_TOKEN_VAL(exRegistry)
Para resolver esse problema, é necessário modificar três entradas do registro relacionadas ao Serviços de Informações da Internet (IIS) 6.0 nos computadores a seguir:
O computador baseado no Windows Server 2003 que hospeda a função de servidor Acesso para Cliente do Exchange 2007. Esse computador hospeda o Outlook Web Access para os usuários afetados.
O computador baseado no Windows Server 2003 que hospeda a função de servidor Caixa de Correio do Exchange 2007. Esse computador hospeda as caixas de correio para os usuários afetados.
Entradas do registro
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters
Nome do valor: MaxClientRequestBuffer
Tipo de valor: REG_DWORD
Dados do valor: 32768
Base: Decimal
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Nome do valor: MaxFieldLength
Tipo de valor: REG_DWORD
Dados do valor: 65534
Base: Decimal
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Nome do valor: MaxRequestBytes
Tipo de valor: REG_DWORD
Dados do valor: 500000
Base: Decimal
Para obter mais informações
A entrada do registro MaxClientRequestBuffer limita as informações de linha de resposta e cabeçalho em uma solicitação HTTP. Os dados limitados por MaxClientRequestBuffer consiste de todos os dados do primeiro byte da solicitação até o último byte antes do corpo da entidade. Esses dados incluem o método, o URL, qualquer informação de caminho adicional, a cadeia de caracteres de consulta, a versão HTTP, todos os cabeçalhos e os caracteres que delimitam todas as partes da solicitação. Em outras palavras, isso inclui todos os dados que não fazem parte do corpo da solicitação.
Como o IIS 6.0 lê os blocos dos dados da solicitação em buffers, o limite definido por MaxClientRequestBuffer pode não ser exato. Portanto, depois de definir a entrada do registro MaxClientRequestBuffer, é recomendável verificar se o limite real no tamanho da solicitação do cliente e nos campos de cabeçalho é o esperado.
A entrada do registro MaxFieldLength especifica o tamanho máximo de cada cabeçalho de solicitação HTTP.
Dica
Por padrão, essa entrada do registro não está presente.
A entrada do registro MaxRequestBytes especifica o limite superior do tamanho total da linha e dos cabeçalhos da solicitação. Geralmente, essa entrada do registro é configurada junto com a entrada do registro MaxFieldLength. Se o valor MaxRequestBytes for mais baixo que o valor MaxFieldLength, o valor MaxFieldLength será ajustado.
As tentativas de logon do Outlook Web Access que especificam o diretório virtual /exchange não são processadas pelo servidor de Acesso para Cliente. Em vez disso, as solicitações são passadas para o servidor de Caixa de Correio. No entanto, as tentativas de logon do Outlook Web Access que especificam o diretório virtual /owa são processadas pelo servidor de Acesso para Cliente.
Se as entradas do registro mencionadas neste artigo não estiverem definidas como um valor alto o suficiente, os usuários que forem membros de muitos grupos poderão enfrentar falhas de logon do Outlook Web Access.
Para obter mais informações sobre a entrada do registro MaxClientRequestBuffer, consulte o artigo 260694 da Base de Dados de Conhecimento Microsoft, Description of the MaxClientRequestBuffer Registry Value (em inglês).
Para obter mais informações sobre a entrada do registro MaxFieldLength, consulte IIS 6.0 MaxFieldLength parameter not set correctly (em inglês).