如何调试 Tomcat 压缩问题?

How to debug Tomcat compression issue?

我在两台不同的 CentOS 机器上有两台 tomcat 服务器 运行 相同的应用程序(我的开发环境和我的测试环境)。其中一个在其 server.xml 中启用了压缩,而另一个没有,因此我将相同的配置添加到 tomcat 中,但未启用压缩。

两台机器上 server.xml 的相关部分如下所示:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           compression="on" 
           compressionMinSize="2048" 
           noCompressionUserAgents="gozilla, traviata" 
           compressableMimeType="text/html,text/xml,application/json,text/plain"
           redirectPort="8443" />

在我启用压缩之前,我可以从我的本地机器上使用 Postman 调用这两个应用程序,没有任何问题(只有第二个响应没有被压缩)

现在启用了压缩,当我调用第二个应用程序(我启用了压缩)时出现错误:

Content-Encoding Error (content_encoding_error) 

Server response could not be decoded using encoding type returned by server.
This is typically caused by a Web Site presenting a content encoding
header of one type, and then encoding the data differently.

我做了几个观察:

所以我很困惑为什么一个服务器可以工作而另一个服务器不能工作。

我可以检查什么来尝试找出错误的来源?

问题来自我使用的 JDK 版本 (1.8.0.161),其中包含报告的错误 here,至少我认为这是同一个错误...

服务器没有安装相同的版本,所以我通过将服务器 1 的工作 JDK 安装到服务器 2 来解决我的问题。