Как включить HTTP-сжатие под apache2?


Ответы:


8

Для этого требуется deflateмодуль, поэтому включите его. Под Ubuntu (это то, что я использую), команда для этого a2enmod deflate.

Затем используйте SetOutputFilterпо вашему Proxyили Directoryдирективу:

<ProxyMatch "^http://localhost:8080/($|app/)">
    Order allow,deny
    Allow from all
    SetOutputFilter Deflate
</ProxyMatch>

Или:

<Directory /var/www>
    Order allow,deny
    Allow from all
    SetOutputFilter Deflate
</Directory>

1
Для других дистрибутивов вы загружаете модуль, используя «LoadModule deflate_module /path/to/module/mod_deflate.so» - просто пару центов за хороший ответ.

4

В качестве записи в Википедии вы ссылаетесь на заметки, вы можете использовать mod_deflate или mod_gzip . Смотрите здесь пример с mod_gzip , который я и использую.


1
<VirtualHost *:80>
   ...     
   DeflateBufferSize 16384
   DeflateCompressionLevel 5
   DeflateMemLevel 9
   DeflateWindowSize 15

   <Location / >
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript
   </Location>
   ...
</VirtualHost>

1

В зависимости от вашего размещения, поместите его в папку conf.d или extras как mod_deflate.conf:

# Enable mod_deflate (gzip)
    SetOutputFilter DEFLATE
    # Do not attempt to compress the following extensions
    SetEnvIfNoCase Request_URI \
    \.(?:gif|jpe?g|png|swf|flv|zip|gz|tar|mp3|mp4|m4v)$ no-gzip dont-vary

Перезапуск apache и mod_deflate будет происходить на всех расширениях, не соответствующих приведенному выше регулярному выражению, это уменьшает общую нагрузку на ЦП, поскольку предотвращает попытку mod_deflate сжимать формат, для которого вы увидите, что сжатие будет незначительным или отсутствует (поскольку оно уже сжато).

Чтобы увидеть, что именно сжимается, и степень сжатия, поместите это в свой

# Deflate accurate logging
    DeflateFilterNote Input instream
    DeflateFilterNote Output outstream
    DeflateFilterNote Ratio ratio
    LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
    CustomLog logs/yourdomain_deflate.log
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.