no-image

Apache filter


概要

  • filterモジュール使ったconfの書き方と、動作確認をまとめておく
    • AddOutputFilterByTypeディレクティブ使った方法はApache2.2で非推奨
  • 圧縮レベルは5
  • 対象はtext/*のやつ全部
  • ログは効果確認できたら出さないようにする

conf

httpd.conf
# deflate_module と filter_moduleをアンコメント
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
app.conf
  DeflateCompressionLevel 5
  
    FilterDeclare  Comp CONTENT_SET
    FilterProvider Comp DEFLATE req=Accept-Encoding $gzip
    FilterProvider Comp DEFLATE resp=Content-Type /^text/
    FilterChain Comp
  

  # ログは重くなるので効果確認できたら消す
  DeflateFilterNote Input instream
  DeflateFilterNote Output outstream
  DeflateFilterNote Ratio ratio
  LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
  CustomLog logs/deflate_log deflate

効果確認

  • curlで確認
curl -H "Accept-Encoding: gzip" -H "Pragma: no-cache" "http://localhost/index.css"
sudo tail -1 /etc/httpd/logs/deflate_log
"GET /index.css HTTP/1.1" 3877/16699 (23%)

参考

関連記事