nginx ajax 错误500,nginx 400 报错,故障排查

nginx的400错误比较难查找原因,因为此错误并不是每次都会出现的,另外,出现错误的时候,通常在浏览器和日志里看不到任何有关提示。

经长时间观察和大量试验查明,此乃request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起。

解决办法这:

在nginx.conf中,将client_header_buffer_size和large_client_header_buffers都调大,可缓解此问题。

其中主要配置是client_header_buffer_size这一项,默认是1k,所以header小于1k的话是不会出现问题的。

#含义:设置用户请求头所使用的buffer大小

#(1)对绝大多数请求来说,1k足以满足请求头所需的buffer;

#(2)对于携带有较大cookie或来自于wap用户的请求头来说,1k的buffer一般不够,这时可以使用指令large_client_header_buffers。

client_header_buffer_size 16k;

large_client_header_buffers 4 64k;

nginx的400错误比较难查找原因,因为此错误并不是每次都会出现的,另外,出现错误的时候,通常在浏览器和日志里看不到任何有关提示。 经长时间观察和大量试验查明,此乃request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起。 解决办法这: 在nginx.conf中,将client_header_buffer_size和large_client_header_buffers都调大,可缓解此问题。 其中主要配置是client_header_buffer_size这一项,默认是1k,所以header小于1k的话是不会出现问题的。 #含义:设置用户请求头所使用的buffer大小 #(1)对绝大多数请求来说,1k足以满足请求头所需的buffer; #(2)对于携带有较大cookie或来自于wap用户的请求头来说,1k的buffer一般不够,这时可以使用指令large_client_header_buffers。 client_header_buffer_size 16k; large_client_header_buffers 4 64k;
经验分享 程序员 微信小程序 职场和发展