Hello!
On Thu, Feb 13, 2014 at 10:06 PM, jasonpeng0819 wrote:
> 最近发现nginx出现了一些奇怪的现象,
> (1)传文件传着传着出现400。PS:网上查客户端超时返回的是408
>
> "POST /Upload?key=51F3A2528D9091871392109189024&fl=10466244&act=0&st=0&fn=20140207_010259_004_001.3gp&ver=178&net=%222WIRE268%22_WIFI&lang=en&id=1376022987957d248d4db3137682a&verName=x.35&isf=0 HTTP/1.1" 400 0 "-" "" "-" - - 108.665 -
>
NGINX 在读取请求体数据时,如果客户端提前关闭了连接,则 NGINX 会记录 400 错误码。此时,有两种可能:
1. 客户端一侧的超时限制先达到(即客户端一侧的超时限制要短于 NGINX 一侧的超时限制);
2. 客户等得不耐烦,提前中止了上传(比如点了浏览器的 stop 按扭,或者干脆关了浏览器窗口)。
如果反过来是 NGINX 一侧的超时更短(即先达到),则 NGINX 会按 408 主动结束当前请求。
> (2) 客户端上传文件的时候,有时候发起请求的瞬间,nginx也返回400
>
此种情况更有可能是客户自己提前中断了上传操作。
Regards,
-agentzh