Technologieaustausch

Analyse der Prinzipien und Lösungen für 502 Bad Gateway, das in Browsern erscheint

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Vorwort

Solche Probleme werden hauptsächlich als hartnäckige Krankheiten behandelt

1. Wie in der Frage gezeigt

Fügen Sie hier eine Bildbeschreibung ein

2. Prinzipanalyse

502 Fehler beim fehlerhaften Gateway weisen darauf hin, dass der Server eine ungültige Antwort von einem Upstream-Server erhalten hat, während er als Gateway oder Proxy fungierte.

Tritt typischerweise in Netzwerken auf, die als Proxys oder Gateways fungierenServerauf, wie zum Beispiel Nginx, Apache oder einen Load Balancer

Im Allgemeinen dreht sich diese Situation hauptsächlich um die Analyse der folgenden Probleme:

  • Der Upstream-Server ist ausgefallen: Der Upstream-Server kann aus verschiedenen Gründen ausgefallen sein, darunter Hardwarefehler, Softwareabstürze oder Netzwerkprobleme.

  • Server überlastet: Der Upstream-Server ist möglicherweise überlastet, weil zu viele Anfragen verarbeitet werden, was dazu führt, dass er nicht rechtzeitig antworten kann.

  • Internet-Problem: Es können Probleme mit der Netzwerkverbindung zwischen Servern auftreten, z. B. Zeitüberschreitungen, Paketverlust usw., die dazu führen, dass keine stabile Verbindung hergestellt werden kann.

  • DNS-Problem: DNS-Auflösungsfehler verhindern möglicherweise, dass der Server die richtige IP-Adresse des Upstream-Servers findet

3. Lösung

  1. Prüfen Sie zunächst, ob Sie die entsprechende IP-Adresse anpingen können.

  2. Überprüfen Sie DNS oder aktualisieren Sie den DNS-Auflösungscache (ipconfig /flushdns

Fügen Sie hier eine Bildbeschreibung ein

Das Obige kann vom Kundenpersonal leicht überprüft werden.

Wenn Sie Entwickler sind, benötigen Sie

  1. Überprüfen Sie den Status des Upstream-Servers : Stellen Sie sicher, dass der Upstream-Server ordnungsgemäß funktioniert und Anfragen verarbeiten kann.Der Status des Upstream-Servers kann durch direkten Zugriff überprüft werden

  2. Überprüfen Sie die Serverauslastung : Stellen Sie sicher, dass der Upstream-Server nicht überlastet ist.Wenn die Auslastung zu hoch ist, sollten Sie eine Erhöhung der Serverressourcen oder eine Optimierung der Anwendungsleistung in Betracht ziehen

Die allgemeine Logik lautet wie folgt:

  • Überprüfen Sie das Nginx-Fehlerprotokoll: Überprüfen Sie das Fehlerprotokoll auf dem Nginx-Server, das sich normalerweise unter /var/log/nginx/error.log befindet, um die spezifische Fehlerursache zu ermitteln
tail -f /var/log/nginx/error.log
  • 1
  • Überprüfen Sie den Status des Upstream-Servers: Greifen Sie direkt über Curl oder Browser auf den Upstream-Server zu, um dessen Antwortstatus zu überprüfen
curl -I http://upstream_server_address
  • 1
  • Überprüfen Sie die Nginx-Konfiguration: Stellen Sie sicher, dass Nginx richtig konfiguriert ist, insbesondere die Adresse der Proxy_pass-Direktive
location / {
    proxy_pass http://upstream_server_address;
}
  • 1
  • 2
  • 3
  • Überprüfen Sie die Netzwerkverbindung: Verwenden Sie Ping oder Traceroute, um die Netzwerkverbindung zwischen Nginx und dem Upstream-Server zu überprüfen
ping upstream_server_address
traceroute upstream_server_address
  • 1
  • 2

Im tatsächlichen Kampf können Sie in einigen Fällen die DNS-Auflösung aktualisieren.

Auf der Serverseite können Sie neu startenNginx-Konfiguration

Im Allgemeinen gibt es zu viele Anfragen, was dazu führt, dass einzelne Anfragen nicht analysiert werden können.