Bagaimana cara mengaktifkan kompresi HTTP di bawah apache2?

Jawaban:

8

Ini membutuhkan deflatemodul, jadi aktifkan itu. Di bawah Ubuntu (yang saya gunakan), perintah untuk itu adalah a2enmod deflate.

Kemudian, gunakan SetOutputFilterpada arahan Anda Proxyatau Directory:

<ProxyMatch "^http://localhost:8080/($|app/)">
    Order allow,deny
    Allow from all
    SetOutputFilter Deflate
</ProxyMatch>

Atau:

<Directory /var/www>
    Order allow,deny
    Allow from all
    SetOutputFilter Deflate
</Directory>
Sietse
sumber
1
Untuk distro lain, Anda memuat modul dengan menggunakan "LoadModule deflate_module /path/to/module/mod_deflate.so" - Hanya beberapa sen untuk jawaban yang baik.
4

Sebagai entri Wikipedia yang Anda tautkan ke catatan, Anda dapat menggunakan mod_deflate atau mod_gzip . Lihat contoh di sini dengan mod_gzip , yang saya gunakan.


sumber
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
sumber
1

Bergantung pada penempatan Anda, ini dalam folder conf.d atau ekstra sebagai 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

Restart apache dan mod_deflate akan terjadi pada semua ekstensi yang tidak cocok dengan regex di atas, ini mengurangi overhead CPU keseluruhan karena mencegah mod_deflate dari mencoba mengompres format yang Anda akan melihat sedikit atau tidak ada kompresi untuk (karena sudah dikompresi).

Untuk melihat apa yang sedang dikompresi, dan rasio kompresi, letakkan ini di komputer Anda

# 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
sumber