如何增加 Apache 2.2 deflate_module 长度限制?

如何增加 Apache 2.2 deflate_module 长度限制?

我在压缩大于 8000 个字符的 HTML 文件时遇到了一个问题(记录在 这个问题在 stackoverflow 上)。大于该大小的纯 HTML 文件会导致服务器无法传送内容,从而导致浏览器给出“服务器重置连接”消息或类似信息。

如果我通过删除包含“SetOutputFilter DEFLATE”的行来禁用相关目录的压缩,那么大小限制将被删除,但当然页面不会被压缩。本 Apache 文档指出默认的放气缓冲区大小为 8KB,这大致对应于我达到的大小限制,但添加行“DeflateBufferSize 20480”对可压缩的页面大小没有影响,所以我想这不是我需要添加或更改的参数。

服务器端包含或 AJAX 调用生成的输出通常远大于 8000 个字符,并且压缩后没有问题。只有使用纯 HTML 文件时我才会遇到问题。

如何增加模块 deflate 压缩的文件的大小?

编辑:除了禁用 mod_deflate 之外,我没有找到其他解决方案,而是将 HTML 放入另一个文件中,并使用服务器端包含来显示它。虽然不太理想,但它可以完成工作,并且该页面不是主项目的一部分。

答案1

根据“模块文档”:http://httpd.apache.org/docs/2.2/mod/mod_deflate.htmlDeflateBufferSize指令不控制可能被压缩的文件的大小,而是控制碎片正在缩小。较大的文件(即您引用的 AJAX 调用)正在变得碎片化并被压缩成碎片。

我猜测该错误是由于其他原因造成的mod_deflate

相关内容