Wie konfiguriere ich Apache2 für die Unterstützung der HTTP-Komprimierung ?
Wie konfiguriere ich Apache2 für die Unterstützung der HTTP-Komprimierung ?
Antworten:
Dies erfordert das deflate
Modul, also aktivieren Sie das. Unter Ubuntu (was ich benutze) ist der Befehl dafür a2enmod deflate
.
Verwenden Sie dann SetOutputFilter
für Ihre Proxy
oder Directory
Direktive:
<ProxyMatch "^http://localhost:8080/($|app/)">
Order allow,deny
Allow from all
SetOutputFilter Deflate
</ProxyMatch>
Oder:
<Directory /var/www>
Order allow,deny
Allow from all
SetOutputFilter Deflate
</Directory>
Als Wikipedia-Eintrag, den Sie mit Notizen verknüpfen, können Sie mod_deflate oder mod_gzip verwenden . Sehen Sie hier ein Beispiel mit mod_gzip , das ich benutze.
<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>
Abhängig von Ihrer Bereitstellung legen Sie dies als mod_deflate.conf in Ihrem Ordner conf.d oder extras ab:
# 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 neu starten und mod_deflate wird bei allen Erweiterungen auftreten, die nicht mit dem obigen regulären Ausdruck übereinstimmen. Dies reduziert den gesamten CPU-Overhead, da mod_deflate nicht versucht, ein Format zu komprimieren, für das Sie nur eine geringe oder keine Komprimierung sehen (da es bereits komprimiert ist).
Um zu sehen, was genau komprimiert wird, und das Komprimierungsverhältnis, platzieren Sie dies in Ihrem
# 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