Wie aktiviere ich die HTTP-Komprimierung unter Apache2?

Antworten:

8

Dies erfordert das deflateModul, also aktivieren Sie das. Unter Ubuntu (was ich benutze) ist der Befehl dafür a2enmod deflate.

Verwenden Sie dann SetOutputFilterfür Ihre Proxyoder DirectoryDirektive:

<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>
Sietse
quelle
1
Für andere Distributionen laden Sie das Modul mit "LoadModule deflate_module /path/to/module/mod_deflate.so" - Nur ein paar Cent für eine gute Antwort.
4

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.


quelle
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>
Dave Cheney
quelle
1

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
Oneiroi
quelle