Estou desenvolvendo um aplicativo da web localmente no meu sistema, servindo-o usando o Tomcat (tomcat-7.0.52).
Na produção, quero fazer frente ao Tomcat com um Apache httpd (Apache / 2.2.15).
Isso funciona e consegui configurar o armazenamento em cache conforme necessário.
Agora eu quero configurar a compressão, mas parece que não é possível obter o Apache httpd para modificar a resposta que obteve do Tomcat.
Mas como eu li aqui, esta é a maneira preferida de fazer. A compactação mod_jk é apenas entre o httpd e o Tomcat e, se eu quiser configurar a compactação diretamente no Tomcat, precisaria de um servlet extra para isso.
Eu tenho a seguinte linha no meu arquivo vhost para ativar a compactação de conteúdo estático e servido pelo httpd:
#SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/plain text/html application/json text/xml text/css text/javascript
Ativar a primeira linha não mudou nada para mim.
Eu passo essas solicitações para o Tomcat usando mod_jk:
<IfModule mod_jk.c>
JkMount /myapp/j_security_check worker1
JkMount /myapp/*.jsp worker1
JkMount /myapp/DataSourceLoader worker1
JkMount /myapp/ServletLogin worker1
</IfModule>
Usando o Firebug, posso ver que o tipo mime das solicitações retornadas pelo Tomcat é
/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)
Por causa dos espaços que não posso adicionar ao AddOutputFilterByType e como também tenho os tipos MIME sem o UTF-8 e também tentei com apenas SetOutputFilter , Eu acho que essas diretivas não manipulam a resposta do Tomcat.
Então, minhas perguntas são:
-
Qual é a melhor solução sugerida? Compactação do Tomcat ou Apache
Compressão httpd? (De acordo com compactação gzip usando mod_deflate apache com tomcat (que redireciona aqui: link ) deve ser feito em httpd)
-
Como habilitar a compactação httpd do Apache para resultados mod_jk (talvez
do JBoss e não do Tomcat)?
-
Talvez relacionado: Como modifico cabeçalhos de cache a partir de resultados de mod_jk
no Apache httpd?
Obrigado!