后台返回字符串过长被nginx截断

前端用的vue后端用的java,本来没事,然后用着用着chrome就出现超时的异常,然后打开火狐,发现是返回的数据被阶段了,导致json解析失败。

这个被截断的原因也是出现在nginx上,因为返回数据过大,超出了nginx默认缓冲区,所以才会被截断。

在需要配置的路由下配置buffer

location ^~/apiswr/ {
            proxy_pass http://ip:端口;
			client_max_body_size 100m;
			fastcgi_buffer_size 1280k;
			fastcgi_buffers 256 128k;
        }

fastcgi_buffers:控制 nginx 最多创建 256个大小为 128K 的缓冲区,而 fastcgi_buffer_size 则是处理 Response 时第一个缓冲区的大小,不包含在前者中。

nginx upstream代理中设置了buffer,但是运行nginx的账号却没有访问buffer目录/usr/local/nginx/proxy_temp的权限

解决办法:
  让nginx以root运行,或以其他对 /usr/local/nginx/proxy_temp 具有访问权限的用户运行nginx
在nginx.conf配置文件顶部加上:
user root;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值