免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3385 | 回复: 2

Nginx总报错upstream sent too big header的问题有人遇到过吗 [复制链接]

论坛徽章:
0
发表于 2011-04-21 19:49 |显示全部楼层
我的软件环境是Nginx+FastCGI+PHP-FPM
这个问题纠缠了我好长时间 今天把nginx加上debug选项重新编译安装了一下 修改log级别为debug之后在日志里看到了原因:
  1. 2011/04/21 18:28:10 [debug] 66257#0: *2 http fastcgi header: "Set-Cookie: xxx=yyy; expires=Wed, 21-Apr-2010 10:28:09 GMT"
  2. ............
  3. ............
  4. 2011/04/21 18:28:10 [debug] 66257#0: *2 http fastcgi parser: -2
  5. 2011/04/21 18:28:10 [debug] 66257#0: *2 upstream split a header line in FastCGI records
  6. 2011/04/21 18:28:10 [error] 66257#0: *2 upstream sent too big header while reading response header from upstream..........
复制代码
原来是setcookie用得太多导致header过大 但是php语句又不能随便修改

于是我在Google一番后在nginx.conf里加了如下代码:
  1. client_header_buffer_size 8m;
  2. large_client_header_buffers 8 8m;
复制代码
cookie再多加一起也不会超过10k 我想8M已经过足够了吧 但是情况依旧

nginx官网看配置说明 想到了个新思路:
  1. fastcgi_ignore_headers Set-Cookie;
复制代码
但是也不行 日志里还是一行一行的Set-Cookie

请问哪位遇到过这种问题 又是怎么解决的?

论坛徽章:
0
发表于 2011-04-21 23:15 |显示全部楼层
你设置的是用户请求的header大小,不是后端返回的请求大小。
试着做如下修改,8个64k的buffer应该足够了。

proxy_buffers 8 64k;

还有问题单独联系我

论坛徽章:
0
发表于 2011-04-22 09:15 |显示全部楼层
我的nginx运行模式是监听fastcgi 不是反向代理proxy 而且

  1. fastcgi_buffer_size=8m;
  2. fastcgi_buffers = 8 8m;
复制代码
在反向代理的模式下用

  1. proxy_buffer_size=8m;
  2. proxy_buffers = 8 8m;
复制代码
也试过了 都不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP