Nginx总报错upstream sent too big header的问题有人遇到过吗
我的软件环境是Nginx+FastCGI+PHP-FPM
这个问题纠缠了我好长时间 今天把nginx加上debug选项重新编译安装了一下 修改log级别为debug之后在日志里看到了原因:
- 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"
- ............
- ............
- 2011/04/21 18:28:10 [debug] 66257#0: *2 http fastcgi parser: -2
- 2011/04/21 18:28:10 [debug] 66257#0: *2 upstream split a header line in FastCGI records
- 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里加了如下代码:
- client_header_buffer_size 8m;
- large_client_header_buffers 8 8m;
复制代码cookie再多加一起也不会超过10k 我想8M已经过足够了吧 但是情况依旧
nginx官网看配置说明 想到了个新思路:
- fastcgi_ignore_headers Set-Cookie;
复制代码但是也不行 日志里还是一行一行的Set-Cookie
请问哪位遇到过这种问题 又是怎么解决的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你设置的是用户请求的header大小,不是后端返回的请求大小。
试着做如下修改,8个64k的buffer应该足够了。
proxy_buffers 8 64k;
还有问题单独联系我
我的nginx运行模式是监听fastcgi 不是反向代理proxy 而且
复制代码在反向代理的模式下用
复制代码也试过了 都不行