nginx报502请求头过长问题upstream sent too big header while reading response header from upstream

与前端联调接口时,出现http状态码502错误
在这里插入图片描述
查看nginx报错日志:

upstream sent too big header while reading response header from upstream, client: 192.168.0.213, server: localhost, request: “GET /videogo/user-proxy/user/user_menu HTTP/1.1”, upstream: “http://192.168.0.200:8080/videogo/user-proxy/user/user_menu”, host: “192.168.0.200”, referrer: “http://192.168.0.200/”;
在这里插入图片描述

请求响应头过大,应该是前端向后台调用接口在header请求头中的token值过大造成的。

修改配置添加:

    proxy_buffer_size 128k;
    proxy_buffers 16 32k;
    proxy_busy_buffers_size 128k;

在这里插入图片描述

  • proxy_buffers:
    默认值: proxy_buffers 8 4k/8k
    上下文: http,server,location
    指定一个 request 的 buffer 的数量和大小。

  • proxy_buffer_size:
    默认值: proxy_buffer_size 4k/8k
    上下文: http,server,location
    指定后端 response 的 buffer 的大小。它是来自后端 response 的一部分,它包含 Headers,从 response 分离出来。它仅用于限定 headers 的 buffer 区,默认来说,该缓冲区大小等于指令 proxy_buffers所设置的;但是,你可以把它设置得更小.
    proxy_buffer_size 有一点特殊在于,无论 proxy_buffering 是否开启,proxy_buffer_size 都会起作用。

  • proxy_busy_buffers_size :
    默认值: proxy_busy_buffers_size proxy_buffer_size*2
    上下文: http,server,location,if
    忙时 buffer 的最大值。一个客户端一次只能从一个 buffer 中读取数据的同时,剩下的 buffer 会被放到队列中,等待发送到客户端,这个 directive 指定在这个状态下的 buffer 的大小。

重启nginx
./nginx -s reload
解决!!!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值