Ottimizzare la banda di Apache

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca

Introduzione

Nell'installazione Apache di default di Debian è presente l'utile modulo mod_deflate: attivando questo modulo sara’ possibile comprimere i dati trasferiti dal vostro sito al browser web del visitatore, velocizzando cosi’ l’apertura delle pagine web ed utilizzando minor banda di connessione.
E' possibile abilitare mod_deflate con questo comando:

# a2enmod deflate

Per ottimizzarne la configurazione, creiamo un file .conf apposito:

# nano /etc/apache2/conf.d/mod_deflate

avente come contenuto:

# Configurazione Mod Deflate
#############################
<IfModule mod_deflate.c>
# Definisco il livello di compresssione
# Valori da 1 (min) a 9 (max)
 DeflateCompressionLevel 3
</IfModule>
<Location />
# Definisco quali pagine vanno compresse
 AddOutputFilterByType DEFLATE text/plain
 AddOutputFilterByType DEFLATE text/xml
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE image/svg+xml
 AddOutputFilterByType DEFLATE application/xhtml+xml
 AddOutputFilterByType DEFLATE application/xml
 AddOutputFilterByType DEFLATE application/rss+xml
 AddOutputFilterByType DEFLATE application/atom_xml
 AddOutputFilterByType DEFLATE application/x-javascript
 AddOutputFilterByType DEFLATE application/x-httpd-php
 AddOutputFilterByType DEFLATE application/x-httpd-fastphp
 AddOutputFilterByType DEFLATE application/x-httpd-eruby
# Attivo la compressione 
 SetOutputFilter DEFLATE
# Non comprimo il file che hanno una loro compressione
# di default
 SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
 SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
# Impedisco errori di compressione nelle vecchie
# versioni dei browser
 BrowserMatch ^Mozilla/4 gzip-only-text/html
 BrowserMatch ^Mozilla/4\.0[678] no-gzip
 BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
 BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
 Header append Vary User-Agent env=!dont-vary
# Attivo i log per controllare il corretto
# funzionamento del modulo
 DeflateFilterNote Input input_info
 DeflateFilterNote Output output_info
 DeflateFilterNote Ratio ratio_info
 LogFormat '"%r" %{output_info}n/%{input_info}n (%{ratio_info}n%%)' deflate
 CustomLog /var/log/apache2/deflate_log deflate
</Location>