HTTPQUERY
Español

421 Misdirected Request

Uso

El error 421 Misdirected Request indica que el servidor no puede producir una respuesta. Este estado se envía como consecuencia de la reutilización de conexiones, cuando el servidor no quiere que los clientes reutilicen conexiones. Como respuesta, el cliente intenta reenviar la solicitud por una conexión distinta.

También ocurre cuando se selecciona un servicio alternativo (Alt-Svc).

Este estado no lo generan los proxies.

Impacto en SEO

Google recomienda devolver 421 para excluirse del rastreo de Googlebot por HTTP/2. Googlebot rastrea tanto por HTTP/1.1 como por HTTP/2. Responder con 421 a las solicitudes HTTP/2 de Googlebot detiene el rastreo por HTTP/2 del sitio. Las páginas que devuelven 421 no se indexan, y las URL indexadas previamente que devuelven este código se eliminan de los resultados de búsqueda.

Ejemplo

El cliente solicita un recurso y el servidor responde con 421 Misdirected Request porque la solicitud llegó por una conexión que no estaba destinada a este host.

Solicitud

GET /tech-news HTTP/2
Host: example.com

Respuesta

HTTP/2 421 Misdirected Request

Cómo solucionarlo

Reintente la solicitud en una conexión nueva y dedicada al origen previsto. El navegador o el cliente abre una sesión TCP/TLS nueva en lugar de reutilizar una conexión multiplexada HTTP/2 ya existente.

En el lado del servidor, verifique que el certificado TLS cubra todos los nombres de host que atiende el servidor. Una discrepancia entre el valor de SNI (Server Name Indication) y la cabecera Host es el desencadenante más habitual.

Cuando nginx actúa como proxy inverso hacia un backend Apache por HTTPS, habilite el reenvío de SNI para que Apache vea el nombre de host correcto:

En Apache, confirme que cada host virtual tenga un ServerName coincidente y un certificado válido. Las comprobaciones de SNI más estrictas de las versiones recientes de Apache rechazan las solicitudes en las que el nombre de host del SNI y la cabecera Host entran en conflicto.

En las CDN y los equilibradores de carga que vuelven a cifrar el tráfico hacia el origen, asegúrese de que el handshake TLS hacia el servidor ascendente envíe el valor de SNI correcto. Cloudflare y servicios similares necesitan que el certificado del origen liste todos los nombres de host atendidos.

Deshabilite la unificación de conexiones (connection coalescing) de HTTP/2 en el servidor cuando varios dominios compartan una IP pero usen certificados diferentes. Cada dominio necesita una conexión independiente.

Referencias de código

.NET

HttpStatusCode.MisdirectedRequest

Rust

http::StatusCode::MISDIRECTED_REQUEST

Rails

:misdirected_request

Go

http.StatusMisdirectedRequest

Symfony

Response::HTTP_MISDIRECTED_REQUEST

Python3.5+

http.HTTPStatus.MISDIRECTED_REQUEST

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_MISDIRECTED_REQUEST

Angular

@angular/common/http/HttpStatusCode.MisdirectedRequest