HTTPQUERY
Deutsch

421 Misdirected Request

Verwendung

Der Fehler 421 Misdirected Request zeigt an, dass der Server keine Antwort erzeugen kann. Dieser Status wird als Folge der Verbindungswiederverwendung gesendet, wenn der Server nicht möchte, dass Clients Verbindungen wiederverwenden. Daraufhin versucht ein Client, die Anfrage über eine andere Verbindung erneut zu übermitteln.

Dies tritt auch auf, wenn ein alternativer Dienst (Alt-Svc) ausgewählt wird.

Dieser Status wird nicht von Proxys erzeugt.

SEO-Auswirkung

Google empfiehlt, 421 zurückzugeben, um sich vom Crawling durch den Googlebot über HTTP/2 abzumelden. Der Googlebot crawlt sowohl über HTTP/1.1 als auch über HTTP/2. Antwortet man auf HTTP/2-Anfragen des Googlebot mit 421, stoppt das HTTP/2-Crawling für die Website. Seiten, die 421 zurückgeben, werden nicht indexiert, und bereits indexierte URLs, die diesen Code zurückgeben, werden aus den Suchergebnissen entfernt.

Beispiel

Der Client fordert eine Ressource an, und der Server antwortet mit 421 Misdirected Request, weil die Anfrage über eine Verbindung eingetroffen ist, die nicht für diesen Host vorgesehen war.

Anfrage

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

Antwort

HTTP/2 421 Misdirected Request

Behebung

Wiederholen Sie die Anfrage über eine neue, dedizierte Verbindung zum vorgesehenen Origin. Der Browser oder Client öffnet eine frische TCP-/TLS-Sitzung, statt eine bestehende, multiplexte HTTP/2-Verbindung wiederzuverwenden.

Überprüfen Sie auf Serverseite, ob das TLS-Zertifikat jeden Hostnamen abdeckt, den der Server bedient. Eine Abweichung zwischen dem SNI-Wert (Server Name Indication) und dem Host-Header ist der häufigste Auslöser.

Wenn nginx per Reverse Proxy über HTTPS an ein Apache-Backend weiterleitet, aktivieren Sie die SNI-Weitergabe, damit Apache den korrekten Hostnamen sieht:

Vergewissern Sie sich in Apache, dass jeder virtuelle Host einen passenden ServerName und ein gültiges Zertifikat besitzt. Verschärfte SNI-Prüfungen in neueren Apache-Versionen weisen Anfragen zurück, bei denen der SNI-Hostname und der Host-Header im Widerspruch stehen.

Bei CDNs und Load-Balancern, die den Datenverkehr zum Origin neu verschlüsseln, stellen Sie sicher, dass der Upstream-TLS-Handshake den korrekten SNI-Wert sendet. Cloudflare und vergleichbare Dienste benötigen ein Origin-Zertifikat, das alle ausgelieferten Hostnamen aufführt.

Deaktivieren Sie das HTTP/2-Connection-Coalescing auf dem Server, wenn mehrere Domains sich eine IP teilen, aber unterschiedliche Zertifikate verwenden. Jede Domain benötigt eine eigene Verbindung.

Code-Referenzen

.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