仅在Firefox中出现Nginx 502 Bad Gateway错误

Jos*_*ker 8 firefox nginx server-administration

我在本地运行一个网站,所有流量都通过NGinx路由,然后NGinx将请求发送到Apache页面并提供静态文件.在Chrome,Safari,IE等中完美运行

但是,每当我在Firefox中打开网站时,我都会收到以下错误:

502 Bad Gateway
nginx/0.7.65
Run Code Online (Sandbox Code Playgroud)

如果我清除缓存和cookie,然后重新启动FireFox,我可以在错误返回之前加载一次或两次站点.我试过Firefox 3.6和3.5都有同样的问题.

这是我的Nginx配置的样子:

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; 
 }
}
Run Code Online (Sandbox Code Playgroud)

这是Firefox在error.log文件中生成的错误:

[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
Run Code Online (Sandbox Code Playgroud)

我完全不知道为什么浏览器会导致服务器错误.有人可以帮忙吗?

Jos*_*ker 11

我似乎找到了解决问题的方法.在进行了一些额外的Google研究之后,我将以下几行添加到我的Nginx配置中:

proxy_buffers 8 16k;
proxy_buffer_size 32k;
Run Code Online (Sandbox Code Playgroud)

但是,我仍然不知道为什么这有效,为什么只有Firefox似乎有问题.如果有人能够阐明这一点,或提供更好的解决方案,我们将不胜感激!

  • 你正在使用FirePHP (2认同)

ner*_*rkn 5

如果你有firePHP禁用它.使用php进行nginx通信时,大标题会导致问题.