Come abilito la compressione HTTP in apache2?


Risposte:


8

Ciò richiede il deflatemodulo, quindi abilitalo. Sotto Ubuntu (che è quello che sto usando), il comando è quello a2enmod deflate.

Quindi, utilizzare SetOutputFiltersu Proxyo Directorydirettiva:

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

O:

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

1
Per altre distro, caricare il modulo usando "LoadModule deflate_module /path/to/module/mod_deflate.so" - Solo un paio di centesimi per una buona risposta.

4

Come voce di Wikipedia che colleghi alle note, puoi usare mod_deflate o mod_gzip . Vedi qui un esempio con mod_gzip , che è quello che uso.


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

A seconda della tua distribuzione, inseriscilo nella cartella conf.d o extras come 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

Riavvia apache e mod_deflate si verificherà su tutte le estensioni che non corrispondono al regex sopra, questo riduce il sovraccarico generale della CPU poiché impedisce a mod_deflate di tentare di comprimere un formato per cui vedrai una compressione scarsa o nulla (perché è già compressa).

Per vedere esattamente cosa viene compresso e il rapporto di compressione, posizionalo nel tuo

# 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.