Comment configurer Apache2 pour prendre en charge la compression HTTP ?
Comment configurer Apache2 pour prendre en charge la compression HTTP ?
Réponses:
Cela nécessite le deflate
module, alors activez-le. Sous Ubuntu (qui est ce que j'utilise), la commande pour cela est a2enmod deflate
.
Ensuite, utilisez SetOutputFilter
sur votre directive Proxy
ou Directory
:
<ProxyMatch "^http://localhost:8080/($|app/)">
Order allow,deny
Allow from all
SetOutputFilter Deflate
</ProxyMatch>
Ou:
<Directory /var/www>
Order allow,deny
Allow from all
SetOutputFilter Deflate
</Directory>
Comme l'entrée Wikipedia que vous liez à des notes, vous pouvez utiliser mod_deflate ou mod_gzip . Voir ici un exemple avec mod_gzip , c'est ce que j'utilise.
<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>
Selon votre déploiement, placez ceci dans votre dossier conf.d ou extras en tant que 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
Redémarrez apache et mod_deflate se produira sur toutes les extensions ne correspondant pas à l'expression régulière ci-dessus, cela réduit la surcharge globale du processeur car il empêche mod_deflate d'essayer de compresser un format pour lequel vous verrez peu ou pas de compression (car il est déjà compressé).
Pour voir exactement ce qui est compressé et le taux de compression, placez-le dans votre
# 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