1. was ist ein 502 Bad Gateway Fehler?
502 Schlechtes Gateway ist ein HTTP-Statuscode, der anzeigt, dass der Server, wenn er als Gateway oder Proxy fungiert, versucht hat, auf den nächsten Server zuzugreifen, aber dieser Server eine unzulässige Antwort zurückgegeben hat. Einfach ausgedrückt ist 502 ein Fehlertypcode, der anzeigt, dass "Falsches Gateway".
2. 502-Fehlerursachen
Für 502-Fehler gibt es in der Regel mehrere Gründe:
Erster Grund: DNS-Caching
Wenn Sie das Gerät nicht einschalten VPN Bei einigen eingeschränkten Websites (z. B. Facebook) kann ein lokaler Cache zurückbleiben, so dass der Zugriff nicht möglich ist. In diesem Fall können Sie versuchen, den Cache in der DOS-Fensterin Bewegung sein ipconfig /flushdns
Befehl, um den DNS-Cache zu leeren.
Zweiter Grund: Proxy-Einstellungen des Browsers
Prüfen Sie, ob die Proxy-Einstellung in Ihrem Browser aktiviert ist, und stellen Sie sicher, dass sie ausgeschaltet ist.
Dritter Grund: DNS-Hijacking
Selbst wenn Sie einen fremden DNS verwenden, kann dieser gekapert werden. Auf einige Geräte kann mit eingeschaltetem VPN zugegriffen werden, auf andere nicht. In diesem Fall können Sie zu einem anderen DNS-Server wechseln (z. B. Google DNS oder OpenDNS).
3. 502 Falsche HTTP-Schleife
Der Fehler 502 tritt während der Kommunikation zwischen einem Client (z. B. einem Webbrowser) und einem Webserver wie folgt auf:
- Abrufen der IP-Adresse einer Website: Über DNS wird ein Domänenname in eine IP-Adresse übersetzt.
- Öffnen Sie einen IP-Socket, um eine Verbindung zu dieser IP-Adresse herzustellen.
- Schreibt HTTP-Streams über Sockets.
- Empfängt einen HTTP-Antwortstrom vom Webserver, der einen Statuscode enthält.
Wenn der Client im letzten Schritt den Statuscode 502 erhält, zeigt er "502 Bad Gateway" Fehler.
4. die Methode zur Behebung von 502-Fehlern
Generische Lösungen
- Aktualisieren Sie die Seite: Presse
STRG+F5
Erzwingen Sie eine Seitenaktualisierung, bei der die Daten erneut vom Server abgerufen werden, anstatt sie aus dem lokalen Cache zu lesen. - Browser-Cache löschenLöschen Sie die Cache-Datei Ihres Browsers und besuchen Sie die Seite erneut.
Spezifische Lösungen
Kundenprobleme
- Prüfen Sie auf ISP-ProblemeWenn der 502-Fehler auf allen Seiten auftritt, kann es sein, dass die Ausrüstung Ihres ISP defekt oder überlastet ist.
- Überprüfung auf interne NetzwerkproblemeWenn der 502-Fehler nur auf einigen Websites auftritt, kann dies auf einen Geräteausfall oder eine Überlastung dieser Websites zurückzuführen sein; wenden Sie sich an den Webmaster, um das Problem zu lösen.
Server-Probleme
- Nginx-Protokolle anzeigenÜberprüfen Sie die Nginx-Protokolldatei (/var/log/nginx) auf Fehlermeldungen wie
Upstream hat einen zu großen Header gesendet, während er den Antwort-Header vom Upstream gelesen hat
. Es ist möglich, dass der Puffer zu klein eingestellt ist. - Puffergröße erhöhen::
http {
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k.
}
3.Proxy-Puffer-Einstellungen::
Server {
listen 80; server_name *.example.com; server_name
server_name *.example.com;
server { listen 80; server_name *.example.com; Standort / {
proxy_buffer_size 64k; proxy_buffers 32 32k; Standort / {
proxy_buffers 32 32k; proxy_busy_buffers_size 128k;
proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; proxy_set_header
proxy_set_header Host $host.
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP
proxy_set_header X-Forwarded-For $proxy_add_x_for_for;
}
}
4.Erhöhen Sie die Anzahl der PHP-FPM-Prozesse::
php-fpm.conf
pm.max_children = 512
pm.max_requests = 600
5.Erhöhung der PHP-Ausführungszeit::
php.ini
max_execution_time = 300
6.Nginx-Timeout erhöhen::
http {
fastcgi_connect_timeout 300;
fastcgi_connect_timeout 300; fastcgi_send_timeout 300;
fastcgi_read_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300.
}
5. 502 Bad Gateway Fehler von Nginx Ursachen und Lösungen
Nginx 502-Fehler können durch eine Vielzahl von Gründen verursacht werden, in der Regel aufgrund von Problemen mit dem Back-End-Server. Hier sind einige häufige Ursachen und Lösungen:
FastCGI-Puffer zu klein eingestellt
Gefunden in den Nginx-Protokollen Upstream hat zu großen Header gesendet
Fehler, der durch Vergrößerung der Puffergröße behoben werden kann:
http {
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k.
}
Proxy-Puffer zu klein eingestellt
Bei Verwendung eines Reverse-Proxys kann ein zu großer Header zu einem 502-Fehler führen:
Server {
listen 80; server_name *.example.com; server_name
server_name *.example.com;
server { listen 80; server_name *.example.com; Standort / {
proxy_buffer_size 64k; proxy_buffers 32 32k; Standort / {
proxy_buffers 32 32k; proxy_busy_buffers_size 128k;
proxy_buffer_size 64k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; proxy_set_header
proxy_set_header Host $host.
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP
proxy_set_header X-Forwarded-For $proxy_add_x_for_for;
}
}
PHP-FPM-Prozessanzahl ist zu niedrig
Änderungen php-fpm.conf
Das Dokument erhöht die Anzahl der Prozesse:
pm.max_children = 512
pm.max_requests = 600
Zeitüberschreitung bei der PHP-Ausführung
Änderungen php.ini
Dokumentation zur Erhöhung der Ausführungszeit:
max_execution_time = 300
Nginx-Wartezeitüberschreitung
Erhöhen Sie den Timeout in der Nginx-Konfiguration:
http {
fastcgi_connect_timeout 300;
fastcgi_connect_timeout 300; fastcgi_send_timeout 300;
fastcgi_read_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300.
}
Andere Lösungen
- Prüfen Sie, ob genügend PHP-FPM-Prozesse vorhanden sind:
netstat -anpo | grep "php-cgi" | wc -l
Sonde anfrage_beenden_zeitlimit
Einstellung:
php-fpm.conf
request_terminate_timeout = 0
Die meisten Probleme mit dem 502 Bad Gateway-Fehler können mit den oben genannten Methoden wirksam gelöst werden. Ich hoffe, dieser Artikel kann Ihnen helfen, 502-Fehler besser zu verstehen und zu lösen und die Stabilität und Benutzerfreundlichkeit Ihrer Website zu verbessern.