Я разрабатываю веб-приложение локально в моей системе, служа ему с помощью Tomcat (кот 7.0.52). В производстве я хочу выходить на Tomcat с Apache httpd (Apache/2.2.15).
Это работает, и мне удалось настроить кэширование по мере необходимости. Теперь я хочу настроить сжатие, но кажется, что банка не заставляет Apache httpd изменять ответ, который это получило от Tomcat.
Но поскольку я читал здесь, это - предпочтительный способ сделать к. сжатие mod_jk только между httpd и Tomcat и если бы я хочу настроить сжатие непосредственно в Tomcat, мне был бы нужен дополнительный сервлет для него.
У меня есть следующая строка в моем vhost-файле для включения сжатия статического и httpd-подаваемого содержания:
#SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/plain text/html application/json text/xml text/css text/javascript
Включение 1-й строки ничего не изменило для меня.
Я передаю эти запросы Tomcat с помощью 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>
Используя Firebug I видят, что тип пантомимы возвращенных из 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)
Из-за пробелов я не могу добавить к AddOutputFilterByType и поскольку у меня также есть типы пантомимы без UTF-8, и я также попробовал просто SetOutputFilter, я думаю, что эти директивы не управляют ответом Tomcat вообще.
Таким образом, мои вопросы:
Каково лучшее предложенное решение? Сжатие Tomcat или Apache httpd сжатие? (Согласно gzip сжатию с помощью mod_deflate апача с котом (который перенаправляет здесь: https://stackoverflow.com/questions/16653642/tomcat-7-gzip-compression-not-working), это должно быть сделано в httpd),
Как я включаю httpd-сжатие Apache для результатов mod_jk (возможно, от JBoss и не Tomcat)?
Возможно, связанный: Как я изменяю кэширующиеся заголовки от результатов mod_jk в Apache httpd?
Спасибо!
Блама,
Я согласен с №1 в том, что сжатие может выполняться с помощью apache или другого веб-сервера.
Вот мои мысли: