Was 502 bedeutet
Ein 502 Bad Gateway heißt: Nginx arbeitet, bekommt aber von dem Dienst dahinter (deiner Anwendung, PHP-FPM, einem Node-Prozess) keine gültige Antwort. Nginx ist also selten das Problem — das Backend ist es.
1. Läuft das Backend überhaupt?
Prüfe den Status deines Anwendungsdienstes. Beispiel für PHP-FPM:
sudo systemctl status php8.2-fpm sudo systemctl restart php8.2-fpm
Ist der Dienst gestoppt oder abgestürzt, ist das die Ursache. Bei eigenen Anwendungen den jeweiligen Dienstnamen einsetzen.
2. Nginx-Fehlerlog lesen
Das Log nennt fast immer den konkreten Grund:
sudo tail -n 50 /var/log/nginx/error.log
Achte auf Hinweise wie connect() failed, upstream timed out oder no live upstreams — sie zeigen direkt, woran es hängt.
3. Stimmt der Upstream-Port?
In der Nginx-Konfiguration muss proxy_pass oder fastcgi_pass exakt auf Adresse und Port des Backends zeigen. Prüfe, ob der Dienst dort wirklich lauscht:
sudo ss -tlnp | grep -E '9000|3000'
Stimmt der Port in der Konfiguration nicht mit dem laufenden Dienst überein, gibt es 502.
4. Konfiguration testen und neu laden
sudo nginx -t sudo systemctl reload nginx
nginx -t meldet Syntaxfehler, bevor sie Schaden anrichten. Erst wenn der Test sauber ist, neu laden.
5. Timeouts bei langsamen Anwendungen
Braucht das Backend lange, bricht Nginx nach dem Standard-Timeout ab. Dann die Werte erhöhen, z. B. proxy_read_timeout 120s; im passenden location-Block.
Fazit
502 löst du, indem du dem Backend folgst: läuft der Dienst, stimmt der Port, was sagt das Log. Vollen Zugriff auf Nginx und Dienste hast du auf einem Nytrix vServer mit Root-Rechten. Grundlagen dazu unter Nginx als Reverse Proxy.