Compartir a través de


Solicitud incorrecta HTTP (encabezado de solicitud demasiado largo) en CLM

Este artículo le ayuda a resolver el problema en el que se produce un error de solicitud incorrecta del Protocolo de transferencia de hipertexto (HTTP) en el portal de CLM.

Versión del producto original: Internet Information Services
Número de KB original: 955585

Síntomas

No puede realizar todas las operaciones en el portal de CLM, puede experimentar el siguiente problema:

  • Con los mensajes de error HTTP descriptivos habilitados en Internet Explorer, se devolverán errores HTTP 400 en respuesta a las solicitudes web que se envían al servidor de Internet Information Services (IIS).

  • Con mensajes de error HTTP descriptivos deshabilitados en Internet Explorer, se devuelve el siguiente mensaje de error al usuario:

    Solicitud incorrecta (encabezado de solicitud demasiado largo)

Causa

La solicitud HTTP que se envía al servidor IIS tiene un encabezado de solicitud que supera la longitud de encabezado de solicitud permitida configurada en el servidor IIS. En concreto, el encabezado Authorization contiene un vale de autenticación Kerberos grande. El vale kerberos es tan grande porque el usuario es miembro de muchos grupos en Active Directory.

Con fines de seguridad, el componente HTTP.sys en el servidor IIS rechaza la solicitud HTTP entrante porque supera los límites de tamaño configurados.

Solución

Configure las claves MaxFieldLength del Registro HTTP y MaxRequestBytes en el servidor IIS para permitir tamaños de encabezado de solicitud mayores.

Importante

El cambio de estas claves del Registro se considera extremadamente peligroso. Aumentar los valores de estas claves hará que HTTP.sys usen más memoria y pueden aumentar la vulnerabilidad a ataques malintencionados. Si cambiar estas claves es la única opción, no establezca sus valores más grandes de lo que deben ser. Información sobre cómo determinar el tamaño de los encabezados de solicitud y, por tanto, qué valor para establecer las claves del Registro se encuentra más adelante en este artículo.

Determinación del tamaño de la solicitud HTTP

Para determinar el tamaño real de la solicitud HTTP, puede resultar útil usar un seguimiento del monitor de red. Con este seguimiento, podemos calcular el tamaño de la solicitud HTTP y compararlo con la configuración del servidor IIS.

También es útil consultar el registro de errores HTTP.sys para obtener información.

Ubicación: %windir%\system32\logfiles\HTTPERR\httperrX.log

La clave para resolver este problema en particular es mostrar que CLM está intentando enviar una solicitud HTTP al servidor que es mayor que el valor predeterminado de 16k o mayor que la configuración personalizada en sus MaxFieldLength y MaxRequestBytes. Para ello, use una combinación de:

  1. Seguimiento del monitor de red
  2. Examine el registro de errores http.sys ubicado en %windir%\system32\logfiles\HTTPERR\httperrX.log.

Entrada de ejemplo de la httperrX.log:

fecha y hora c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename 2007-04-12 07:37:51 10.201.25.27 1682 10.248.10.65 80 HTTP/1.1 GET /clm 400 - RequestLength

WireShark

  1. Busque el marco que envía la instrucción HTTP Get .
  2. Vea la pestaña situada en la parte inferior derecha de la pantalla wireShark titulada TCP ensamblada y el número situado junto a este será el tamaño de la solicitud HTTP ensamblada.