Java 为什么禁用用户代理使服务恢复正常

Java 为什么禁用用户代理使服务恢复正常,java,http,tomcat,Java,Http,Tomcat,上周我们遇到了一个问题,虽然服务已经恢复正常,但我们仍然无法找到根本原因并再次出现。以下是问题背景,希望大家能给我们一些想法,谢谢 背景: a。我们做一些后端维护,并停止后端服务器(Linux\Tomcat)+DB进程2小时 B前端服务器(webservice)我们并没有关闭或停止进程,所以它仍然可以获取请求并发送到后端服务器 C我们重新启动后端tomcat进程,然后出现问题 发行说明: 我们发现后端tomcat从前端服务器接收到完整的内容,但发送的响应内容不完整…..例如,原始内容长度为108

上周我们遇到了一个问题,虽然服务已经恢复正常,但我们仍然无法找到根本原因并再次出现。以下是问题背景,希望大家能给我们一些想法,谢谢

背景:

a。我们做一些后端维护,并停止后端服务器(Linux\Tomcat)+DB进程2小时 B前端服务器(webservice)我们并没有关闭或停止进程,所以它仍然可以获取请求并发送到后端服务器 C我们重新启动后端tomcat进程,然后出现问题

发行说明:

我们发现后端tomcat从前端服务器接收到完整的内容,但发送的响应内容不完整…..例如,原始内容长度为1084,响应长度为920,不正确的为850或852随机

我们的工作:

  • 清理tomcat缓存,不起作用
  • 升级tomcat版本,不起作用
  • 最后我们发现,如果我们禁用前端服务器的用户代理,问题就解决了

    让我们困惑的是,为什么以前不禁用用户代理是好的,现在我们必须重新编码我们的前端服务器来禁用用户代理

    如果有人以前遇到过这个问题,请告诉我们~~非常感谢

    谢谢

    详情:

    原始内容长度

    HTTP/1.1
    Content-Length: 1084
    Content-Type: application/json
    Content-Encoding: UTF-8
    Host:x.x.x.x
    Connection: Keep-Alive
    User-Agent: Apache-HttpClient/4.5.6 (Java/1.8.0_181)
    Accept-Encoding: gzip,deflate