nginx 400 Bad request是request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起。 所幸在nginx中是有办法解决这个问题: 在nginx.conf中,将client_header_buffer_size和large_client_header_buffers都调大,可缓解此问题。 client_header_buffer_size:默认是1k,所以header小于1k的话是不会出现问题的。 现在配置是:
0.7.12以前版本的nginx收到一个空请求,nginx不会去与任何虚拟主机匹配,直接返回400错误, 之后的新版本nginx可以用server_name _;匹配空请求头。 所以如果用的旧版本先升级到0.7.12以后的版本 升级之后添加如下默认虚拟主机server。 增加默认的server到配置文件,以下配置的解释看这里禁止未绑定域名访问
建议把上面这个server保存为default.conf,然后include到主配置文件nginx.conf |
|