Nginx 502 Bad Gateway Fehler NUR in Firefox
Ich bin mit einer website lokal, den gesamten Datenverkehr weitergeleitet wird NGinx die dann löst Anfragen auf PHP-Seiten auf Apache und statische Dateien bedient. Perfekt funktioniert in Chrome, Safari, IE, etc.
Allerdings, wenn ich öffnen Sie die website in Firefox bekomme ich die folgende Fehlermeldung:
502 Bad Gateway
nginx/0.7.65
Wenn ich löschen cache und die cookies, und dann starten Sie FireFox neu, ich bin in der Lage, laden Sie die Seite einmal oder zweimal, bevor der Fehler wieder Auftritt. Ich habe versucht, sowohl die Firefox 3.6 und 3.5 und beide haben das gleiche problem.
Hier ist meine Nginx config sieht wie folgt aus:
worker_processes 2;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name local.mysite.amc;
root /Users/joshmaker/Sites/mysite;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location /{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://local.mysite.amc:8080;
}
include /opt/local/etc/nginx/rewrite.txt;
}
server {
include /opt/local/etc/nginx/mime.types;
listen 80;
server_name local.static.mysite.amc;
root /Users/joshmaker/Sites/mysite;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
}
}
Und hier ist der Fehler, Firefox erzeugt in meinen Fehler.log-Datei:
[error] 11013#0: *26 kevent() reported that connect() failed (61: Connection refused) while connecting to upstream
[error] 11013#0: *30 upstream sent too big header while reading response header from upstream
[error] 11013#0: *30 no live upstreams while connecting to upstream
Ich bin völlig ratlos, warum ein browser zu einem server-Fehler. Kann mir da jemand helfen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheine ich gefunden zu haben, eine Arbeit um, die Feste mein problem. Nach einigen weiteren Google-Recherchen habe ich noch folgende Zeilen zu meiner Nginx config:
Allerdings weiß ich noch nicht warum es funktionierte, und warum nur Firefox schien Probleme zu haben. Wenn jemand das Licht auf dies, oder bieten Sie eine bessere Lösung, es wäre sehr geschätzt werden!
Wenn Sie hier FirePHP deaktivieren. Großen überschriften verursacht Probleme, während nginx Kommunikation mit php.
Erhöhung der Größe Ihres proxy-Puffer, löst dieses Problem. Firefox erlaubt es, große cookies (bis zu jeweils 4 Kb), die angebracht sind, um jede Anfrage. Der Nginx-default-config hat kleine Puffer (nur 4k). Wenn Ihr Verkehr setzt große cookies, Sie sehen die Fehlermeldung "upstream gesendet zu großen Kopf beim Lesen der Antwort-header" in Ihrem nginx error log, und Nginx gibt einen http 502-Fehler an den client. Was passiert ist, ist Nginx lief aus dem Pufferspeicher während der Analyse und der Verarbeitung der Anfrage.
Um dieses Problem zu lösen, ändern Sie Ihre nginx.conf-Datei
proxy_buffers 8 16k;
proxy_buffer_size 32k;
-oder-
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_buffers 8 16k; fastcgi_buffer_size 32k;
hat den trick für michöffnen Sie /etc/nginx/nginx.conf und
fügen Sie die folgenden Zeilen in der http-Abschnitt :
Dieser fix funktioniert bei mir in einem CI-web-Anwendung. Lesen Sie mehr unter http://www.adminsehow.com/2012/01/fix-nginx-502-bad-gateway-error/