7aea3a0a50
抓包定位(90 秒内 515 次 HTTP 411 Length Required):OkHttp 对长度为 0 的请求体 不写 Content-Length,请求于是既无 Content-Length 也无 Transfer-Encoding——HTTP/1.1 不允许这样,RustFS 直接回 411;客户端读到不完整响应就报 unexpected end of stream 再重试。业务里上传空内容(content 为 null/空)是常态,所以每天上千次。 修复用 network interceptor 在协议层补 Content-Length: 0:普通 interceptor 里加的 头会被 BridgeInterceptor 按 body 长度覆盖,加了不生效。 实测:部署后同样 90 秒抓包,411 从 515 次降到 0,两节点「确定性错误不重试」归零。 此前排除的公网链路、keepAlive、连接复用三项确实都不是原因——抓包才是对的入口。