¿Cómo configuro Apache2 para soportar la compresión HTTP ?
¿Cómo configuro Apache2 para soportar la compresión HTTP ?
Respuestas:
Esto requiere el deflate
módulo, así que habilítelo. En Ubuntu (que es lo que estoy usando), el comando para eso es a2enmod deflate
.
Luego, use SetOutputFilter
en su Proxy
o Directory
directiva:
<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>
Como la entrada de Wikipedia que vincula a las notas, puede usar mod_deflate o mod_gzip . Vea aquí un ejemplo con mod_gzip , que es lo que uso.
<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>
Dependiendo de su implementación, coloque esto en su carpeta conf.d o extras como 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
Reiniciar apache y mod_deflate se producirán en todas las extensiones que no coincidan con la expresión regular anterior, esto reduce la sobrecarga general de la CPU ya que evita que mod_deflate intente comprimir un formato en el que verá poca o ninguna compresión (porque ya está comprimido).
Para ver qué se está comprimiendo exactamente y la relación de compresión, colóquelo en su
# 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