查看nginx的错误日志,得到以下错误信息:
upstream sent too big header while reading response header from upstream
按字面意思理解应该是upstream负载均衡的模块转发的header头超出限制值了,查看配置文件中的相关配置,并搜索相关信息。

网上同类型的错误原因,说是cookie携带的header太多了,让你设置:

fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;

优化这些配置值,其中fastcgi_buffers 8 128k 这句,fastcgi_buffers 32 32k 这样更好,内存是整块分配和释放的,减少单位k数能尽可能利用。

在http配置段设置
{
                proxy_buffer_size  128k;

proxy_buffers   32 32k;

proxy_busy_buffers_size 128k;
        
        proxy_temp_file_write_size 128k;
}
proxy_temp_file_write_size 这个选项的值不能小于proxy_buffer_size,否则报错。
优化后,错误日志中没有继续出现报错。
另外,如果你用nginx做负载均衡的话,改了上述参数没用的的话,在转发的配置上,修改proxy_buffer_size、proxy_buffers、proxy_busy_buffers_size的值。
配置示例:
location / {

proxy_buffer_size  128k;

proxy_buffers   32 32k;

proxy_busy_buffers_size 128k;

add_header X-Static transfer;

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP  $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://backend;

}

如果需要后端PHPCGI的设置:
location ~ \.php$ {

fastcgi_buffer_size 128k;

fastcgi_buffers 32 32k;

include /etc/nginx/fastcgi_params;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /host/web/$fastcgi_script_name;

}

总结原因:
proxy是nginx作为client转发时使用的,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header。
fastcgi_* 可以理解成nginx接受client请求时的响应使用的。

转载自

原文:https://blog.csdn.net/huwenb/article/details/11898953

 

nginx 错误502 upstream sent too big header while reading response header from upstream的更多相关文章

  1. 修复Nginx 502错误:upstream sent too big header while reading response header from upstream

    原文出处:https://www.cnblogs.com/jpfss/p/10237463.html 便于以后参考我复制了过来! cookies的值超出了范围我是说 看看了一下日志 错误502 ups ...

  2. nginx log 错误502 upstream sent too big header while reading response header from upstream

    cookies的值超出了范围我是说 看看了一下日志 错误502 upstream sent too big header while reading response header from upst ...

  3. nginx recv() failed (104: Connection reset by peer) while reading response header from upstream解决方法

    首先说下 先看 按照ab 每秒请求的结果 看看 都有每秒能请求几个 如果并发量超出你请求的个数 会这样 所以一般图片和代码服务器最好分开 还有看看io瓶ding 和有没有延迟的PHP代码执行 0 先修 ...

  4. 出现upstream sent too big header while reading response header from upstream错误

    一个POS系统,出现upstream sent too big header while reading response header from upstream错误. 1.反向代理端,可以放到se ...

  5. 今天测试大商创,遇到了 upstream sent too big header while reading response header from upstream

    今天在测试大商创后台系统时,打开店铺结算,查看店铺对应的订单列表时,该列表自动跳转到502,查看线上和测试环境都能正常打开,唯独我的电脑上打开是502, 查询nginx的error.log日志,记录了 ...

  6. nginx 502错误 upstream sent too big header while reading response header from upstream

    原本的设置是 proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; 在这种配置下,使用fiddler进行抓包分 ...

  7. Nginx 502错误:upstream sent too big header while reading response header from upstream

    原因: 在使用Shiro的rememberMe功能时,服务器返回response的header部分过大导致. 解决方法: https://stackoverflow.com/questions/238 ...

  8. 修复Nginx报错:upstream sent too big header while reading response header from upstream

    在 nginx.conf 的http段,加入下面的配置: proxy_buffer_size 128k; proxy_buffers 32k; proxy_busy_buffers_size 128k ...

  9. tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理

    tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理 现象:访问订单的 ...

随机推荐

  1. Shell入门及实践

    解释器 解释器是一种命令解释器,主要作用是对命令进行运行和解释,将需要执行的操作传递给操作系统内核并执行 #!/bin/bash(默认),指定解释器 #!/bin/bash #这是第一个shell脚本 ...

  2. Forget Guava: 5 Google Libraries Java Developers Should Know

    Forget Guava: 5 Google Libraries Java Developers Should Know Published on 2016 7 13 Somenath PandaFo ...

  3. pycharm 运行错误信息显示乱码

    pycharm版本 解决方法:

  4. [SDOI2006] 保安站岗

    题目链接 第一遍不知道为什么就爆零了…… 第二遍改了一下策略,思路没变,结果不知道为什么就 A 了??? 树形 DP 经典问题:选择最少点以覆盖树上所有点(边). 对于本题,设 dp[i][0/1][ ...

  5. mysql中常用的函数

    -- 基本上都是抄的别人整理的 -- 一.数学函数 ABS(x) -- 返回x的绝对值 BIN(x) -- 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) -- 返回大于 ...

  6. Mybatis-generator自动生成器

    目录 前言牢骚 Mybatis-generator是什么? Mybatis-generator怎么使用? 第一步,Maven文件引用 第二步,数据库建立 第三步,写mybatis-generator. ...

  7. Fiddler--QuickExec

    QuickExec在Fiddler中提供了比较快捷的功能服务. 在QuickExec输入框中输入命令,能快速地得到想要的结果. 快捷键:打开Fiddler后,按“Alt+q”,可将光标定位到Quick ...

  8. Git 分支(一)简介&创建分支

    理解Git暂存区 文件.git/index是一个包含文件索引的目录树,像是一个虚拟的工作区.在这个虚拟工作区的目录树中,记录了文件名和文件的状态信息.以便快速检测文件的变化.              ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

  10. JAVA关于字符串&&字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...