java - 间歇性 NGINX 错误 : client sent invalid chunked body

标签 java http nginx http-1.1

我遇到了一个奇怪的问题,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 调用。

问题是问题不一致。我从我的本地尝试过,代码总是有效,但是当我们从 jenkins 运行相同的命令时,它对于特定的有效负载失败。我在本地尝试使用相同的 Java 版本,它始终有效。更奇怪的是,有时即使是来自同一个 Jenkins ,它也能奏效。

有没有人有任何指点?

最佳答案

对不起,我忘了更新这个答案。 我的问题原来是设置了不正确的内容类型

改变自

entity.addBinaryBody("zipFile", zipFileStream, contentTypeApplicationZip, zipFileName);

entity.addPart("zipFile", new ByteArrayBody(IOUtils.toByteArray(zipFileStream), zipFileName));

解决了问题。

关于java - 间歇性 NGINX 错误 : client sent invalid chunked body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51861229/

相关文章:

java - 如何用浮点运算解决精度误差

java - ArrayOfObjects 无法转换为 Java.util.Collection

node.js - 如何使用nodejs发出子HTTP请求

java - 将 cURL 字符串转换为 Resteasy

php - Nginx和php-fpm-主机无法访问

wordpress - 使用 nginx 为 flask 应用程序启用 wordpress

java - Java 中的位操作和输出

java - JCA 资源适配器如何读取 ra.xml 中定义的自定义属性

internet-explorer - Internet Explorer 不遵循跨域的相对重定向 URL

docker - 部署到docker,无法加载样式表和javascript