How To Fix: 502 Bad Gateway – Fehlerbehebung Guide
Ein 502 Bad Gateway-Fehler ist einer der häufigsten HTTP-Statuscodes im Internet. Er bedeutet vereinfacht gesagt, dass ein Server im Internet eine ungültige Antwort von einem anderen Server erhalten hat.
Hier ist ein umfassendes Tutorial, wie du diesen Fehler sowohl als Besucher als auch als Website-Besitzer beheben kannst.
Was bedeutet 502 Bad Gateway eigentlich?
Der Fehler tritt auf, wenn ein Server als „Gateway“ oder Proxy fungiert und versucht, eine Anfrage an einen dahinterliegenden Server (den sogenannten Upstream-Server) weiterzuleiten, dieser aber mit einer ungültigen Antwort reagiert.
Teil 1: Lösungen für Website-Besucher (Client-Seite)
Oft liegt das Problem beim Server, aber manchmal kann auch dein eigener Computer oder Browser die Ursache sein.
1. Seite neu laden
Der einfachste Schritt: Drücke F5 oder Strg + R. Manchmal ist der Server nur kurzzeitig überlastet und ein Reload löst das Problem sofort.
2. Browser-Cache und Cookies löschen
Veraltete oder fehlerhafte Dateien in deinem Browser-Cache können den Fehler provozieren.
- Gehe in die Einstellungen deines Browsers.
- Lösche die Browserdaten (insbesondere Cookies und Cache).
- Versuche, die Seite erneut aufzurufen.
3. Den Browser wechseln oder Inkognito-Modus nutzen
Starte die Seite in einem privaten Fenster (Inkognito-Modus). Wenn es dort funktioniert, liegt es an einer installierten Browser-Erweiterung (z. B. ein Adblocker oder Proxy-Plugin).
4. Den DNS-Cache leeren (DNS Flush)
Ein veralteter DNS-Cache auf deinem Computer kann ebenfalls zu Gateway-Fehlern führen.
- Windows: Öffne die CMD (Eingabeaufforderung) und tippe ein:
ipconfig /flushdns - Mac: Öffne das Terminal und tippe ein:
sudo killall -HUP mDNSResponder
Teil 2: Lösungen für Website-Besitzer & Administratoren (Server-Seite)
Wenn du der Betreiber der Seite bist, liegt das Problem meist in der Kommunikation zwischen deinem Webserver (z. B. Nginx) und deinem Backend (z. B. PHP-FPM oder Python/Node.js).
1. Prüfe, ob die Backend-Dienste laufen
Oft ist der Dienst, der die Anfragen verarbeiten soll, abgestürzt.
- Prüfe den Status von PHP:
sudo systemctl status php8.x-fpm(Version anpassen) - Prüfe den Status von Nginx/Apache:
sudo systemctl status nginx - Lösung: Starte die Dienste neu:
sudo systemctl restart php8.x-fpm
2. Fehlerprotokolle (Error Logs) prüfen
Dies ist der wichtigste Schritt. Die Logs sagen dir genau, was schiefläuft.
- Nginx Logs:
tail -f /var/log/nginx/error.log - Apache Logs:
tail -f /var/log/apache2/error.log - Achte auf Meldungen wie "Connection refused" oder "Permission denied".
3. Proxy-Konfiguration prüfen
Wenn du Nginx als Reverse Proxy nutzt, könnte die Konfiguration fehlerhaft sein.
- Stelle sicher, dass die
proxy_pass-URL korrekt ist. - Prüfe, ob der Port (z. B. 8080 oder 9000) offen ist und der Dienst dort lauscht.
4. Zeitüberschreitungen (Timeouts) erhöhen
Wenn ein Skript zu lange braucht, bricht das Gateway die Verbindung ab. Erhöhe die Timeout-Werte in der Nginx-Konfiguration:
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
(Bei PHP-FPM muss zusätzlich fastcgi_read_timeout erhöht werden.)
5. CDN oder Firewall prüfen (z. B. Cloudflare)
Wenn du Cloudflare nutzt, siehst du oft eine spezielle Fehlerseite.
- Cloudflare Error 502: Das Problem liegt meist an deinem Ursprungsserver.
- Prüfe, ob deine Firewall (iptables/ufw) die IP-Adressen von Cloudflare blockiert.
6. Server-Ressourcen prüfen
Ein Server mit vollem Arbeitsspeicher (RAM) oder 100% CPU-Last kann keine Anfragen mehr korrekt verarbeiten.
- Nutze den Befehl
topoderhtop, um die Auslastung zu prüfen.
Zusammenfassung
- Besucher: Erstmal abwarten, F5 drücken oder Cache leeren.
- Admin: Zuerst die Logs prüfen, dann sicherstellen, dass PHP/Backend-Dienste laufen und die Timeouts groß genug gewählt sind.
In den meisten Fällen ist ein 502-Fehler temporär und verschwindet nach einem Neustart der Dienste oder einer kurzen Wartezeit von selbst.