421 Misdirected Request bei Plesk mit Apache & Nginx: Ursache, Lösung und Erklärung

Nach einem Apache-Update kam es weltweit zu Ausfällen von Plesk-Webseiten mit aktivem Nginx-Proxy, verursacht durch fehlende SNI-Informationen beim SSL-Zugriff. Gratulation! Das Update legte weltweit zahlreiche Plesk-gehostete Webseiten lahm. Kein Wunder: Diese Kombination aus Apache und Nginx ist die Standardkonfiguration vieler Plesk-Installationen. Viele sind immer noch nicht wieder erreichbar. Der Fehler „421 Misdirected Request“ lässt sich mit wenigen Zeilen in der Nginx-Konfiguration schnell beheben.
Was bedeutet „421 Misdirected Request“?
Wenn Du eine Website auf Deinem Server aufrufst und stattdessen diese Fehlermeldung erhältst:
421 Misdirected Request
The client needs a new connection for this request as the requested host name does not match the Server Name Indication (SNI) in use for this connection.
… dann liegt das Problem in der Kommunikation zwischen Nginx (Reverse Proxy) und Apache (Webserver). Besonders betroffen sind Server, die Plesk nutzen. Bei Dir sieht der Fehler in Kombination mit Plesk und SSL-Zertifikaten so aus:
Apache Server at deine-domain.de Port 443
Dabei ist das SSL-Zertifikat korrekt installiert und dennoch funktioniert der Aufruf nicht.
Warum tritt dieser Fehler auf?
Nach einem Apache-Update (u. a. auf Ubuntu 22.04 oder Debian-basierten Systemen) ist Apache strenger geworden: Er verlangt bei SSL-Verbindungen plötzlich zwingend die korrekte Übermittlung der Server Name Indication (SNI). Das hätte man vor dem Update ja auch einmal bedenken oder mitteilen können.
Das Problem:
Nginx übergibt standardmäßig beim SSL-Proxypass keine SNI-Informationen an Apache. Dadurch erkennt Apache nach dem Update die angeforderte Domain nicht mehr korrekt und liefert entweder ein falsches Zertifikat oder lehnt die Verbindung mit Fehler 421 ab.
Der Bug tritt auf in Verbindung mit Plesk Obsidian, Nginx als Reverse Proxy (Standard in Plesk), Apache 2.4.57+ und diversen SSL-Zertifikaten.
Wie erkenne ich, ob ich betroffen bin?
- Alle oder viele Domains auf Deinem Server zeigen denselben Fehler.
- In Plesk ist der Proxymodus (Nginx vor Apache) aktiv.
- SSL-Zertifikate sind korrekt eingerichtet (z. B. Let’s Encrypt).
- Ein Aufruf über HTTP funktioniert oder wird korrekt weitergeleitet, die SSL-Seite zeigt den Fehler.
- Im Browser siehst Du: 421 Misdirected Request – Apache Server at …
Die Lösung
Damit Nginx die korrekte SNI-Information übermittelt, musst Du in der Nginx-Konfiguration einige zusätzliche Anweisungen setzen.
Schnelle Lösung per SSH:
echo -e "proxy_ssl_server_name on;\nproxy_ssl_name \$host;\nproxy_ssl_session_reuse off;" \ > /etc/nginx/conf.d/fixssl.conf && systemctl restart nginx
Was bewirken diese Zeilen?
Folgendes wird dauerhaft über eine Konfigurationsdatei im Nginx-Proxy hinterlegt und bleibt auch nach einem Neustart erhalten:
proxy_ssl_server_name on;
Aktiviert die SNI-Weitergabe an Apache
proxy_ssl_name $host;
Übergibt den tatsächlichen Hostnamen der Anfrage
proxy_ssl_session_reuse off;
Verhindert Session-Reuse bei Upstream-SSL, erhöht Kompatibilität
Anschließend wird Nginx mit der neuen Konfiguration neu gestartet.
Alternativ über Plesk GUI (manuell, nicht empfohlen)
1. Plesk öffnen
2. Zur Domain → Apache & Nginx Einstellungen
3. Im Feld für zusätzliche Nginx-Anweisungen:
proxy_ssl_server_name on; proxy_ssl_name $host; proxy_ssl_session_reuse off;
4. Änderungen speichern
5. Dienste neu starten
Das Problem: Diese Änderungen gelten nur für eine Domain – bei Servern mit mehreren Subdomains oder Kundenkonten ist die globale Lösung via SSH zuverlässiger.
Hilfe / Support benötigt bei 421 Misdirected Request?
Schreibe mir eine Nachricht über mein Kontaktformular, falls Du es nicht selbst hinbekommst oder kurzfristig Hilfe benötigst. Oder rufe mich im Büro an unter +49 (0) 7961 564237 (Festnetz, Deutschland).