nginx如果配置的proxy_buffer太小,会造成502网关错误,然后java应用上会报错No buffer space available。并且服务器上的浏览器访问java应用也访问不同。甚至有的时候启动java应用还会报错,报错信息是网络适配器什么的有问题。
使用netstat 查看socket连接数也不是特别多,我这里的socket连接数是300多个。
后面排查到是nginx的proxy_buffer配置不当。
加上一下内容:
//以下这些配置是针对每一个request请求配置的
proxy_buffering on;
proxy_buffers 8 10M;
proxy_buffer_size 4k;
proxy_busy_buffers_size 20M;
prxoy_buffers语法:
proxy_buffers 当请求的buffer数量 每个buffer的大小。
例如:
//表示每个request请求有8个缓冲区,每个缓冲区的大小是10M。
proxy_buffers 8 10M