小编Bla*_*ama的帖子

Tomcat mod_jk 的压缩导致 Apache httpd

我正在我的系统上本地开发一个 Web 应用程序,使用 Tomcat (tomcat-7.0.52) 为其提供服务。在生产中,我想用 Apache httpd (Apache/2.2.15) 在 Tomcat 前面。

这有效,我设法根据需要配置缓存。现在我想配置压缩,但似乎无法让Apache httpd修改它从Tomcat获得的响应。

但正如我在这里读到的,这是首选的方式。mod_jk 压缩仅在 httpd 和 Tomcat 之间进行,如果我想直接在 Tomcat 中配置压缩,我需要一个额外的 servlet。

我的 vhost 文件中有以下行来启用静态和 httpd 服务内容的压缩:

 #SetOutputFilter DEFLATE
 AddOutputFilterByType DEFLATE text/plain text/html application/json text/xml text/css text/javascript
Run Code Online (Sandbox Code Playgroud)

启用第一行对我没有任何改变。

我使用 mod_jk 将这些请求传递给 Tomcat:

<IfModule mod_jk.c>
 JkMount /myapp/j_security_check worker1
 JkMount /myapp/*.jsp worker1
 JkMount /myapp/DataSourceLoader worker1
 JkMount /myapp/ServletLogin worker1
</IfModule>
Run Code Online (Sandbox Code Playgroud)

使用 Firebug 我可以看到 Tomcat 返回的请求的 MIME 类型是

/myapp/j_security_check: "text/plain; charset=UTF-8" (with the space)
/myapp/*.jsp: "text/plain; charset=UTF-8" (with the space)
/myapp/DataSourceLoader: "application/json;charset=UTF-8"  (without …
Run Code Online (Sandbox Code Playgroud)

compression tomcat servlet mod-jk apache-2.2

5
推荐指数
1
解决办法
1486
查看次数

标签 统计

apache-2.2 ×1

compression ×1

mod-jk ×1

servlet ×1

tomcat ×1