HTTP 502 Bad Gateway: Ursachen und Lösungen
Sie möchten eine Website besuchen und bekommen die Fehlermeldung "502 Bad Gateway" zu sehen. Die Seite lädt nicht und Sie sehen nur eine Fehlermeldung. In dieser ausführlichen Anleitung erklären wir, was ein 502-Fehler genau bedeutet, welche Ursachen möglich sind und wie Sie ihn als Besucher oder Websitebetreiber beheben können.
Was ist ein HTTP 502 Bad Gateway Fehler?
Der HTTP-Statuscode 502 bedeutet, dass ein Server, der als Gateway oder Proxy fungiert, eine ungültige Antwort von einem Upstream-Server erhalten hat. Einfach gesagt: Zwischen Ihnen und der Website stehen mehrere Server, und die Kommunikation zwischen diesen Servern ist schiefgegangen.
Bei einem typischen Webhosting-Aufbau funktioniert das so:
- Ihr Browser sendet eine Anfrage an den Webserver (Nginx oder Apache)
- Der Webserver leitet die Anfrage an den Anwendungsserver (PHP-FPM) weiter
- PHP-FPM verarbeitet die Seite und schickt das Ergebnis an den Webserver zurück
- Der Webserver sendet die Seite an Ihren Browser
Ein 502-Fehler tritt auf, wenn Schritt 3 fehlschlägt: PHP-FPM stürzt ab, liefert eine ungültige Antwort oder reagiert gar nicht. Der Webserver (das Gateway) kann die Anfrage dann nicht abschließen.
Das unterscheidet sich von einem 500-Fehler (interner Serverfehler in PHP) oder einem 503-Fehler (Server überlastet). Bei einem 502 geht es speziell um die Kommunikation zwischen zwei Servern.
Varianten des 502-Fehlers
Die 502-Fehlermeldung kann in verschiedenen Formen erscheinen. Sobald Sie den Code 502 sehen, wissen Sie, dass diese Anleitung zutrifft.
| Fehlermeldung | Beschreibung |
|---|---|
| 502 Bad Gateway | Häufigste Variante |
| HTTP Error 502 | Standard-HTTP-Fehlermeldung |
| 502 Proxy Error | Proxy-bezogene Variante |
| 502 Server Error | Verkürzte Variante |
| 502 Bad Gateway - nginx | Nginx-spezifische Variante |
| 502 Bad Gateway - Cloudflare | CDN-bezogene Variante |
| 502. That's an error. | Google-spezifische Darstellung |
| Bad Gateway: The proxy server received an invalid response | Ausführliche Apache-Variante |
502-Fehler als Besucher beheben
Als Besucher haben Sie begrenzte Möglichkeiten, aber Sie können Folgendes versuchen:
- Laden Sie die Seite neu: Drücken Sie F5 oder Strg+R. Ein 502-Fehler ist oft nur vorübergehend.
- Warten Sie 30 Sekunden bis eine Minute: Der Server startet möglicherweise automatisch neu.
- Leeren Sie Ihren Browser-Cache: Manchmal wird eine alte 502-Antwort aus dem Cache angezeigt.
- Probieren Sie einen anderen DNS: Wechseln Sie zu Google DNS (8.8.8.8) oder Cloudflare DNS (1.1.1.1).
- Prüfen Sie downdetector.nl: Sehen Sie nach, ob andere Nutzer dasselbe Problem melden.
502-Fehler als Websitebetreiber beheben
Sind Sie der Betreiber der Website? Dann folgen Sie diesen 8 Schritten, um die Ursache zu finden und zu beheben.
1. Prüfen Sie, ob PHP-FPM läuft
Die häufigste Ursache eines 502-Fehlers ist, dass PHP-FPM abgestürzt ist oder nicht mehr reagiert. Prüfen Sie den Status:
sudo systemctl status php8.2-fpm
Wenn PHP-FPM gestoppt ist, starten Sie es neu:
sudo systemctl restart php8.2-fpm
Beim Shared Hosting können Sie PHP-FPM nicht direkt neu starten. Wenden Sie sich in diesem Fall an Ihren Hosting-Anbieter oder warten Sie, bis sich der Server automatisch erholt.
2. Prüfen Sie das Nginx- oder Apache-Fehlerprotokoll
Das Fehlerprotokoll des Webservers liefert Ihnen genaue Informationen darüber, warum die Anfrage fehlgeschlagen ist:
# Nginx error log
sudo tail -50 /var/log/nginx/error.log
# Apache error log
sudo tail -50 /var/log/apache2/error.log
Suchen Sie nach Zeilen mit "502" oder "upstream": Diese verraten Ihnen genau, welcher Upstream-Server nicht reagiert hat und warum.
Häufige Protokollzeilen:
upstream prematurely closed connection while reading response header
connect() to unix:/run/php/php8.2-fpm.sock failed (111: Connection refused)
upstream timed out (110: Connection timed out) while reading response header
3. Erhöhen Sie das Proxy-Timeout
Wenn Ihre Website aufwendige Vorgänge ausführt (große Datenbankabfragen, Bildverarbeitung, Importe), kann es sein, dass der Webserver nicht lange genug auf PHP-FPM wartet.
Nginx-Konfiguration:
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
fastcgi_read_timeout 300;
Apache-Konfiguration:
ProxyTimeout 300
Timeout 300
Starten Sie den Webserver nach der Anpassung neu:
sudo systemctl restart nginx # of apache2
4. Prüfen Sie PHP-Speicher- und Prozesslimits
PHP-FPM kann abstürzen, wenn es zu wenig Arbeitsspeicher hat oder zu viele Prozesse ausführen will:
Prüfen Sie die PHP-FPM-Pool-Konfiguration:
# Meestal in /etc/php/8.2/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
Wenn pm.max_children für Ihren Traffic zu niedrig ist, kann PHP-FPM keine neuen Anfragen mehr annehmen. Erhöhen Sie diesen Wert oder wechseln Sie bei schwankendem Traffic zu pm = ondemand.
Prüfen Sie auch das PHP-Speicherlimit in php.ini:
memory_limit = 512M
5. Testen Sie ohne CDN oder Reverse Proxy
Wenn Sie Cloudflare, Sucuri oder ein anderes CDN bzw. einen anderen Proxy verwenden, kann das Problem dort liegen:
- Schalten Sie das CDN vorübergehend ab (DNS direkt auf Ihren Server zeigen lassen)
- Prüfen Sie das CDN-Dashboard auf Fehlermeldungen
- Bei Cloudflare: Prüfen Sie, ob der SSL-Modus korrekt ist (Full oder Full Strict)
- Testen Sie, ob Ihre Website über die direkte IP-Adresse des Servers funktioniert
Wenn Ihre Website ohne CDN funktioniert, liegt das Problem in der CDN-Konfiguration.
6. Prüfen Sie die DNS-Einstellungen
Falsche DNS-Einstellungen können Ihren Domainnamen auf einen falschen Server zeigen lassen, was zu einem 502-Fehler führt:
- Prüfen Sie, ob Ihr A-Record auf die richtige Server-IP-Adresse zeigt
- Warten Sie nach DNS-Änderungen 24 bis 48 Stunden auf die vollständige Verbreitung
- Verwenden Sie
dig example.nlodernslookup example.nl, um Ihr DNS zu prüfen
7. Starten Sie den Server neu
Wenn der Neustart einzelner Dienste nicht hilft, kann ein vollständiger Neustart des Servers nötig sein. Das behebt Probleme mit hängenden Prozessen, Speicherlecks oder beschädigten temporären Dateien.
Auf einem VPS oder dedizierten Server:
sudo systemctl restart nginx
sudo systemctl restart php8.2-fpm
sudo systemctl restart mysql
Of een volledige herstart:
sudo reboot
Beim Shared Hosting: Wenden Sie sich für einen Neustart an Ihren Hosting-Anbieter.
8. WordPress-spezifische Prüfungen
Bei WordPress-Websites können diese zusätzlichen Ursachen eine Rolle spielen:
- Ressourcenhungrige Plugins: Deaktivieren Sie kürzlich installierte oder aktualisierte Plugins
- WP-Cron-Überlastung: Schalten Sie WP-Cron ab und verwenden Sie einen echten Server-Cronjob
- Object-Cache-Konflikt: Wenn Sie Redis oder Memcached verwenden, prüfen Sie, ob der Cache-Dienst läuft
- Heartbeat API: Begrenzen Sie die WordPress Heartbeat API mit dem Plugin Heartbeat Control
502-Fehler vermeiden
Mit diesen Maßnahmen minimieren Sie das Risiko von 502-Fehlern:
- Überwachen Sie Ihren Server: Richten Sie ein Uptime-Monitoring mit Tools wie UptimeRobot oder Pingdom ein
- Skalieren Sie Ihr Hosting: Sorgen Sie dafür, dass Ihr Hosting-Paket genügend Ressourcen für Ihren Traffic hat
- Optimieren Sie Ihren Code: Sorgen Sie für effiziente Datenbankabfragen und vermeiden Sie aufwendige Vorgänge beim Laden von Seiten
- Nutzen Sie Caching: Ein gut eingerichteter Cache (Redis, Varnish oder Page Cache) verringert die Last auf PHP-FPM
- Halten Sie Software aktuell: Verwenden Sie die neueste PHP-Version und halten Sie Ihr CMS und Ihre Plugins auf dem neuesten Stand
- Auto-Restart konfigurieren: Richten Sie systemd so ein, dass PHP-FPM nach einem Absturz automatisch neu startet
Häufig gestellte Fragen zum 502-Fehler
Was bedeutet HTTP 502 Bad Gateway genau?
Ein 502 Bad Gateway Fehler bedeutet, dass ein zwischengeschalteter Server (Gateway oder Proxy) eine ungültige oder unvollständige Antwort vom dahinterliegenden Server erhalten hat. Das Problem liegt nicht in Ihrem Browser oder Ihrer Verbindung, sondern in der Kommunikation zwischen zwei Servern. Meist handelt es sich um einen Webserver (Nginx/Apache), der keine gültige Antwort von PHP-FPM erhält.
Was ist der Unterschied zwischen einem 502- und einem 504-Fehler?
Bei einem 502-Fehler erhält das Gateway eine ungültige Antwort vom Upstream-Server. Bei einem 504 Gateway Timeout erhält das Gateway innerhalb des eingestellten Zeitlimits überhaupt keine Antwort. Ein 502 deutet auf einen Absturz oder Fehler hin, ein 504 auf eine Zeitüberschreitung. Die Lösungen überschneiden sich, bei einem 504 sollten Sie aber vor allem die Timeout-Einstellungen erhöhen.
Kann ein 502-Fehler von meinem Hosting-Anbieter verursacht werden?
Ja, beim Shared Hosting kann ein 502-Fehler durch Serverprobleme verursacht werden, auf die Sie selbst keinen Einfluss haben. Wenn das Problem anhält und Sie alle Schritte durchgegangen sind, wenden Sie sich an Ihren Hosting-Anbieter. Erwägen Sie bei wiederkehrenden 502-Fehlern ein Upgrade auf einen VPS für mehr Kontrolle und dedizierte Ressourcen.
Hat ein 502-Fehler Auswirkungen auf mein SEO?
Ein einzelner, kurzer 502-Fehler wirkt sich kaum auf Ihr SEO aus. Wenn Google beim Crawlen Ihrer Seiten jedoch wiederholt auf einen 502 stößt, kann das zu einer niedrigeren Crawl-Frequenz und auf Dauer zu einem Rückgang in den Suchergebnissen führen. Überwachen Sie Ihre Website mit der Google Search Console, um schnell über Crawling-Probleme informiert zu sein.
Wie lange dauert ein 502-Fehler normalerweise?
Das hängt von der Ursache ab. Wenn PHP-FPM automatisch neu startet, kann ein 502-Fehler innerhalb von 30 Sekunden behoben sein. Bei Serverproblemen oder Konfigurationsfehlern kann es länger dauern, bis der Administrator eingreift. Auf gut konfigurierten Servern werden PHP-FPM-Abstürze automatisch erkannt und neu gestartet, sodass die Ausfallzeit minimal ist.
Regelmäßig 502-Fehler? Sehen Sie sich unsere Webhosting-Pakete an mit LiteSpeed, NVMe SSD und stabiler PHP-FPM-Konfiguration. Oder wählen Sie einen VPS mit voller Kontrolle über Ihre Serverkonfiguration.
0 von 0 fanden das hilfreich