Nginx 在POST提交数据时,报 HTTP411 Content-Length required 错误

Posted by Elton's Blog on March 1, 2013

在使用Nginx 1.3.9以下版本,都存在当用户POST一个带有文件的请求的时候,出现HTTP 411错误。

这个是Nginx的问题,需要打一个补丁。https://github.com/agentzh/chunkin-nginx-module

#下载chunkin模块
git clone https://github.com/agentzh/chunkin-nginx-module.git

#编译nginx,使用chunkin模块
wget http://nginx.org/download/nginx-1.2.7.tar.gz
tar xvzf nginx-1.2.7.tar.gz
cd nginx-1.2.7
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_gzip_static_module --with-google_perftools_module --with-http_realip_module --add-module=../chunkin-nginx-module 

make -j8
make install

然后在nginx.conf中添加

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

之后重启nginx就可以了。