Intermittent NGINX error: client sent invalid chunked body
Intermittent NGINX error: client sent invalid chunked body
我 运行 遇到了一个奇怪的问题,NGINX 间歇性地返回 400 错误日志
2018/08/15 07:08:38 [error] 3794#3794: *961526 client sent invalid chunked body, client: 10.$$.$$.$$, server: $$.api.$$.com, request: "PUT /v2/$$ HTTP/1.1", host: "$$.api.$$.com"
这个错误是什么时候出现的?
有关我如何提出请求的一些背景信息:
我正在使用 org.apache.http.impl.client.CloseableHttpClient 进行 http 调用。
问题是issue不一致。我从我的本地尝试过,代码总是有效,但是当我们 运行 来自 jenkins 的相同命令时,它对于特定的有效负载失败。我在本地尝试使用相同的 java 版本,它始终有效。更奇怪的是,有时即使是同一个詹金斯也能奏效。
有人指点一下吗?
对不起,我忘了更新这个答案。
我的问题原来是设置了不正确的内容类型
从
更改
entity.addBinaryBody("zipFile", zipFileStream, contentTypeApplicationZip, zipFileName);
至
entity.addPart("zipFile", new ByteArrayBody(IOUtils.toByteArray(zipFileStream), zipFileName));
问题已解决。
我 运行 遇到了一个奇怪的问题,NGINX 间歇性地返回 400 错误日志
2018/08/15 07:08:38 [error] 3794#3794: *961526 client sent invalid chunked body, client: 10.$$.$$.$$, server: $$.api.$$.com, request: "PUT /v2/$$ HTTP/1.1", host: "$$.api.$$.com"
这个错误是什么时候出现的?
有关我如何提出请求的一些背景信息:
我正在使用 org.apache.http.impl.client.CloseableHttpClient 进行 http 调用。
问题是issue不一致。我从我的本地尝试过,代码总是有效,但是当我们 运行 来自 jenkins 的相同命令时,它对于特定的有效负载失败。我在本地尝试使用相同的 java 版本,它始终有效。更奇怪的是,有时即使是同一个詹金斯也能奏效。
有人指点一下吗?
对不起,我忘了更新这个答案。 我的问题原来是设置了不正确的内容类型
从
更改entity.addBinaryBody("zipFile", zipFileStream, contentTypeApplicationZip, zipFileName);
至
entity.addPart("zipFile", new ByteArrayBody(IOUtils.toByteArray(zipFileStream), zipFileName));
问题已解决。