Bla*_*ama 5 compression tomcat servlet mod-jk apache-2.2
我正在我的系统上本地开发一个 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 space)
Run Code Online (Sandbox Code Playgroud)
由于我无法添加到AddOutputFilterByType的空间,并且因为我也有没有 UTF-8 的 mime-types 并且我也只尝试了SetOutputFilter,我认为这些指令根本不会操纵Tomcat答案。
所以我的问题是:
最好的建议解决方案是什么?Tomcat 压缩还是 Apache httpd 压缩?(根据使用 mod_deflate apache 和 tomcat 的 gzip 压缩(这里重定向:https : //stackoverflow.com/questions/16653642/tomcat-7-gzip-compression-not-working)应该在 httpd 中完成)
如何为 mod_jk 结果启用 Apache httpd 压缩(可能来自 JBoss 而不是 Tomcat)?
可能相关:如何在 Apache httpd 中修改 mod_jk 结果中的缓存标头?
谢谢!
布拉马,
我同意 #1 的观点,压缩可以用 apache 或其他 Web 服务器来处理。
这是我的想法:
| 归档时间: |
|
| 查看次数: |
1486 次 |
| 最近记录: |