Die HTTP-Fehler 502 (Bad Gateway) und 504 (Gateway Timeout) treten häufig in Web-Stacks mit Nginx, Apache oder anderen Reverse-Proxies auf, die Anfragen an Backend-Services wie PHP-FPM, Node.js oder Datenbanken weiterleiten. Diese Fehler deuten auf Kommunikationsprobleme zwischen Proxy und Backend hin. In diesem Tutorial lernen Einsteiger, IT-Studierende und Junior Network Engineers systematisch, wie diese Fehler analysiert, behoben und langfristig vermieden werden können.
Unterschied zwischen 502 und 504
Die beiden Fehlercodes sind Gateway-bezogen, unterscheiden sich aber in der Ursache:
- 502 Bad Gateway: Das Backend antwortet mit einem ungültigen oder fehlerhaften HTTP-Response, z. B. PHP-FPM ist abgestürzt oder Node.js liefert ein Syntax-Fehler-Response.
- 504 Gateway Timeout: Der Reverse-Proxy wartet zu lange auf eine Antwort des Backends und bricht die Verbindung ab, oft verursacht durch langsame Skripte, hohe Last oder Netzwerkprobleme.
Logs als erste Fehlerquelle
Logs sind die wichtigste Informationsquelle, um 502/504-Fehler zu analysieren.
Nginx Error Logs prüfen
sudo tail -f /var/log/nginx/error.log
Achten Sie auf Meldungen wie „connect() failed“ oder „upstream timed out“.
Backend-Logs prüfen
- PHP-FPM:
sudo tail -f /var/log/php8.1-fpm.log - Node.js: Prüfen Sie stdout/stderr des Node-Prozesses oder Systemd-Logs
sudo journalctl -u mynodeapp.service -f - Datenbank: Langsame Queries oder Verbindungsprobleme können 504 auslösen.
Timeouts konfigurieren
Häufig entstehen 504-Fehler durch zu niedrige Timeout-Werte in Nginx oder im Backend.
Nginx
http {
...
proxy_connect_timeout 10s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
}
PHP-FPM
request_terminate_timeout = 60s
Diese Einstellungen verhindern, dass lange laufende Skripte abrupt abgebrochen werden.
Worker-Prozesse prüfen
Ein häufiger Grund für 502 ist, dass keine freien Backend-Worker mehr verfügbar sind.
PHP-FPM
sudo systemctl status php8.1-fpm
sudo tail -f /var/log/php8.1-fpm.log
- Passen Sie
pm.max_childrenan, wenn viele parallele Anfragen auftreten. - Monitoren Sie die Auslastung via
topoderhtop.
Node.js / andere Services
- Skalieren Sie die Anzahl der Worker oder nutzen Sie Cluster-Modus.
- Überwachen Sie CPU und Memory, da Resource Limits zu 502 führen.
Netzwerk- und Firewall-Einstellungen prüfen
Firewall-Regeln oder TCP-Timeouts können ebenfalls Gateway-Fehler verursachen.
- Überprüfen Sie
iptablesoderfirewalld-Regeln. - Stellen Sie sicher, dass Nginx auf die richtigen Ports des Backends zugreifen kann.
Reverse-Proxy-Konfiguration optimieren
Eine saubere Konfiguration von Nginx oder Apache als Proxy ist entscheidend:
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Cache und Load Balancing berücksichtigen
Wenn mehrere Backend-Server im Einsatz sind:
- Verwenden Sie
upstreamin Nginx mit gesunden Check-Mechanismen.
upstream backend {
server 127.0.0.1:9000 max_fails=3 fail_timeout=30s;
server 127.0.0.1:9001 max_fails=3 fail_timeout=30s;
}
Monitoring und Alerts einrichten
Um 502/504 frühzeitig zu erkennen:
- Verwenden Sie Tools wie Prometheus, Grafana, Netdata oder Nagios.
- Alerts auf HTTP-Statuscodes konfigurieren.
- Überwachen Sie Antwortzeiten und Queue-Längen der Worker.
Praktisches Beispiel: PHP-FPM Pool anpassen
[www]
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 20
request_terminate_timeout = 60s
Zusammenfassung der Vorgehensweise
- Logs prüfen: Nginx und Backend
- Timeouts erhöhen
- Worker-Kapazitäten anpassen
- Reverse-Proxy sauber konfigurieren
- Firewall und Netzwerk prüfen
- Monitoring implementieren
502- und 504-Fehler sind typische Herausforderungen im Web Stack. Mit systematischem Vorgehen, Überprüfung von Logs, Anpassung von Worker- und Timeout-Parametern und sauberer Proxy-Konfiguration können diese Gateway-Probleme zuverlässig behoben und langfristig vermieden werden.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

