Nginx总报错upstream sent too big header的问题有人遇到过吗

发布于 2022-10-15 08:54:37 字数 1097 浏览 27 评论 0

我的软件环境是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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情徒 2022-10-22 08:54:37

你设置的是用户请求的header大小,不是后端返回的请求大小。
试着做如下修改,8个64k的buffer应该足够了。

proxy_buffers 8 64k;

还有问题单独联系我

惟欲睡 2022-10-22 08:54:37

我的nginx运行模式是监听fastcgi 不是反向代理proxy 而且

  1. fastcgi_buffer_size=8m;
  2. fastcgi_buffers = 8 8m;

复制代码在反向代理的模式下用

  1. proxy_buffer_size=8m;
  2. proxy_buffers = 8 8m;

复制代码也试过了 都不行

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文