当POST中间出现错误时,通过nginx返回一个正文

时间:2015-08-25 15:41:29

标签: http nginx

我已将Nginx服务器配置为反向代理。我向它发布一些数据,上游服务器在我发送数据之前确定数据无效。

我的上游服务器响应400代码和错误消息,并关闭连接。 Nginx似乎不满意连接被中止并且它没有将响应主体传回给我的客户端。我看到来自Nginx的以下错误信息' info'电平:

  

2015/08/25 15:28:49 [warn] 10#0:* 103客户端请求主体缓冲到临时文件/ opt / nginx / var / client_body_temp / 0000000002,客户端:172.17.42.1,服务器:,请求:" POST /上传HTTP / 1.1",主持人:" localhost:8002"

     

2015/08/25 15:28:49 [错误] 10#0:* 103 readv()失败(104:对等连接重置)读取上游时,客户端:172.17.42.1,server :, request:& #34; POST / whoopstrap HTTP / 1.1",上游:" http://172.17.1.250:80/upload",主持人:" localhost:8002"

     

172.17.42.1 - - [25 / Aug / 2015:15:28:49 +0000]" POST / upload HTTP / 1.1" 400 25" - " "卷曲/ 7.40.0”

如果我直接使用Curl与我的上游服务器通信,它会警告我连接在完成上传之前已关闭,但它会显示服务器的响应正文。

我可以让Nginx传递响应正文吗?在回复之前我是否需要接受整个上传?

1 个答案:

答案 0 :(得分:1)

你可能已经想到了这一点,但无论如何我会为后代回答。正如建议here,是的,似乎你必须接受上游服务器中的整个上传(或“实现正确的连接拆除”)。

还在SO上回答了similar question