当我试图在不指定内容长度的情况下执行PUT时,我从nginx获得411状态。 有什么办法可以禁止这种情况发生吗?
您可以尝试添加到您的查询:
curl -i -X PUT -H'Content-Length:0''http: //www.example.com/test '
尝试安装HttpChunkinModule或将Nginx更新到1.3.9+
Nginx 1.3.9+不再需要此模块,因为从1.3.9开始,Nginx内核已经内置了对分块请求主体的支持。
PUT请求需要Content-Length。 这不是Nginx,它是制作这个需求的HTTP。 PUT请求,如POST请求,必须有一个内容主体。 这个身体可以是零长度的,但是如果是这样的话你必须明确地这么说。 很明显,你不能假设内容会一直持续到连接closures(这是缺less的内容长度头所暗示的内容),因为在连接closures之前服务器必须能够响应请求。
老问题,但因为我偶然从networkingsearch到这个:
Nginx 1.3.9及以上版本支持POST和PUT的“Transfer-Encoding:chunked”。
通过分块传输,您可以先发送文件,而无需设置内容长度。