Làm cách nào để kích hoạt nén HTTP theo apache2?


Câu trả lời:


8

Điều này đòi hỏi các deflatemô-đun, vì vậy cho phép điều đó. Trong Ubuntu (đó là những gì tôi đang sử dụng), lệnh cho điều đó là a2enmod deflate.

Sau đó, sử dụng SetOutputFiltertrên của bạn Proxyhoặc Directorychỉ thị:

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

Hoặc là:

<Directory /var/www>
    Order allow,deny
    Allow from all
    SetOutputFilter Deflate
</Directory>

1
Đối với các bản phát hành khác, bạn tải mô-đun bằng cách sử dụng "LoadModule deflate_module /path/to/module/mod_deflate.so" - Chỉ cần một vài xu để có câu trả lời hay.

4

Khi mục Wikipedia bạn liên kết đến ghi chú, bạn có thể sử dụng mod_deflate hoặc mod_gzip . Xem ở đây một ví dụ với mod_gzip , đó là những gì tôi sử dụng.


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>

1

Tùy thuộc vào việc triển khai của bạn, đặt địa chỉ này trong thư mục conf.d hoặc phụ của bạn dưới dạng 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

Khởi động lại apache và mod_deflate sẽ xảy ra trên tất cả các tiện ích mở rộng không khớp với regex ở trên, điều này làm giảm tổng chi phí CPU vì nó ngăn mod_deflate không cố nén một định dạng mà bạn sẽ thấy ít hoặc không nén được (vì nó đã được nén).

Để xem chính xác những gì đang được nén và tỷ lệ nén, hãy đặt cái này vào

# 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.