Nginx 502 gateway error一例
使用ie正常.其他人用FF也正常.但是有个人使用FF浏览报错502 查看后台error日志,发现一句 upstre...
扫描右侧二维码阅读全文
11
2009/02

Nginx 502 gateway error一例

使用ie正常.其他人用FF也正常.但是有个人使用FF浏览报错502
查看后台error日志,发现一句
upstream sent too big header while reading response header from upstream
就是反馈回来的头部信息太大
一般应该是cookie里面带的
怀疑是FF里面的某个插件引起返回太多的头部信息
一个个排查.最后发现是FireBug导致的
既然是fastcgi返回的头部太大.应该可以配置
查找资料后发现应该是和fastcgi_buffer_*有关的
将相关配置增大.发现问题解决
这边使用的是
fastcgi_buffer_size 32k;
fastcgi_buffers 8 32k;
比原来的默认4k/8k要大许多

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

8 comments

  1. [...] 4.FastCGI Buffer不够 nginx和apache一样,有前端缓冲限制,可以调整缓冲参数 fastcgi_buffer_size 32k; fastcgi_buffers 8 32k; 参见:http://www.hiadmin.com/nginx-502-gateway-error%E4%B8%80%E4%BE%8B/ [...]

  2. caix

    NGINX如保才能支持中文目录呀?

  3. willko

    老大,请教你个问题
    php-fpm的rlimit_files是什么意思啊?
    谢谢

  4. Johnny Woo

    rlimit_files是你内核可以打开文件的数量。所有描述符都算在内。

  5. Johnny Woo

    不客气.有空的话可以实证一下.上面的只是推测.虽然有一部分依据.但是实作可能又未必如推测所说.

  6. willko

    好的,谢谢老大解释

  7. willko

    1.fastcgi_buffer_size 是你cgi的缓冲大小啊,也就是你cgi返回的东西大于缓冲。和头部信息没多大关系吧。

    2.请问firebug怎么导致的

  8. Johnny Woo

    1.fastcgi_buffer_size以前叫做fastcgi_header_buffer_size,用以保存从upstream server返回的数据的.如果太大.则可以多次从缓冲区中返回给客户端.但是对于客户端.类似cookie恐怕无法进行拆分.nginx直接就判断类似的反馈包是有问题的了(没有看源码.不能确定)
    2.firebug有功能就是远程调试.这样会带一些参数过去php这里.而php xdebug会返回一些调试信息.这部分信息很显然不能通过HTML BODY来返回.否则HTML代码就会不一致了.唯一的方法应该就是通过HEADER这里的参数了.所以开了FIREBUG之后导致发送了额外的调试信息,而PHP返回的调试信息过大.(根据理论猜测.没有实证.)

Leave a Comment