Nginx返回411错误(适用nginx 1.3.9之前的版本)

今天提交一个form的时候遇到一个411错误, 是nginx直接把请求给弹回来了. 深入的查一下之后发现这个问题还是非常容易引起的, 

nginx给出的官方解释有三种情况会引发nginx返回411响应码

  1. client sent invalid “Content-Length” header
  2. client sent … method without “Content-Length” header
  3. client sent “Transfer-Encoding: chunked” header

 解决办法是添加https://github.com/agentzh/chunkin-nginx-module模块重新编译nginx 并修改nginx的配置文件, 使新的模块生效

chunkin on;

error_page 411 = @my_411_error;
location @my_411_error {
    chunkin_resume;
}

location /foo {
    # your fastcgi_pass/proxy_pass/set/if and
    # any other config directives go here...
}

这样改过之后reload nginx就可以正常工作了, 详细配置方法请参考 wiki 谢谢.


PS:nginx 1.3.9之后的版本已经内置了Chunkin 模块

你可能感兴趣的:(nginx,411,chunk)