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,ajax,错误500)