Câu trả lời:
Điều này đòi hỏi các deflate
mô-đ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 SetOutputFilter
trên của bạn Proxy
hoặc Directory
chỉ 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>
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.
<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>
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