我正在将压缩数据从客户端发送到 Apache 服务器,并在 Apache 层对其进行膨胀(使用https://httpd.apache.org/docs/2.4/mod/mod_deflate.html#input)。然后数据从 Apache 发送到 Tomcat,但是,在 Tomcat 我得到截断的数据。
寻找这个并发现下面针对 Apache 服务器提出的错误。 https://bz.apache.org/bugzilla/show_bug.cgi?id=34526
根据上面链接中提到的解决方案,我需要添加一个 Apache 环境变量“JK_IGNORE_CL”。我试图设置这个变量,但是,我无法让它工作。
以下是我用来设置此属性的指令(在 .htaccess 文件中)。仅当请求将 Content-Encoding 作为 gzip 时,我才尝试设置此变量。
SetEnvIf 内容编码 gzip JK_IGNORE_CL
我还尝试为其提供一些值,例如 JK_IGNORE_CL=true 或 JK_IGNORE_CL=1 ,但是,它不起作用。我不确定,启用此功能的预期方法是什么。任何帮助表示赞赏。
听起来您需要为apache设置环境变量。这些天来,IIRC 已经完成,
/etc/systemd/system/httpd.service.d/override.conf
您正在寻找类似的内容你没有指定
JK_IGNORE_CL
应该设置什么所以我假设true
好的。所以事实证明上面的设置确实有效,但是,在没有Content-Length的情况下,mod_jk最多只能发送8kb的未压缩数据到Tomcat(可以增加到最大64kb,'max_packet_size' ) 在某些情况下,我发送的数据不止于此。
所以这就是我们需要忍受的极限,我猜。