- 投稿: 2012年05月12日 15:55
- 更新: 2012年05月12日 15:55
- サーバ
ということで,apacheのmod_proxyを使ったフォワードプロキシを構成しているんですが,ただ単にプロキシとして使っても面白くないので,貧弱回線用に通信負荷を減らす圧縮プロキシにしちゃいました.要件は以下の通り.
- mod_deflateによるgzip圧縮転送
- mod_ext_filterを駆使した画像圧縮
ということで,mod_proxyを以下のように設定しました.動いているのであっていると思います.ただ,書き方が良いかどうかは微妙すぎるので,よりよい書き方がありましたら,ご指摘下さい.
<IfModule mod_deflate.c>
DeflateCompressionLevel 9
DeflateFilterNote Ratio ratio
LogFormat "%h %l %u %t \"%r\" %>s %b (%{ratio}n%%)" common_deflate
</IfModule>
<IfModule mod_proxy.c>
Listen xxxxx
<VirtualHost _default_:xxxxx>
CustomLog /var/log/apache2/proxy.log common_deflate
ErrorLog /var/log/apache2/proxy_error.log
ProxyRequests On
ProxyVia Block
<Proxy *>
Order deny,allow
Deny from all
AuthType Digest
AuthName "ProxyAuth"
AuthUserFile /etc/apache2/.prxpswd
Require valid-user
Satisfy any
AddDefaultCharset Off
SetOutputFilter DEFLATE
</Proxy>
<IfModule mod_ext_filter.c>
ExtFilterDefine jpeg-filter mode=output cmd="/usr/bin/convert -quality 15 jpeg:- jpeg:-"
ExtFilterDefine png-filter mode=output cmd="/usr/bin/convert -colors 16 -colorspace Transparent -quality 90? +dither +profile \"*\" png:- png:-"
<ProxyMatch \.(jpe?g|JPE?G)$>
SetOutputFilter jpeg-filter
</ProxyMatch>
<ProxyMatch \.(png|PNG)$>
SetOutputFilter png-filter
</ProxyMatch>
</IfModule>
</VirtualHost>
</IfModule>
参考
- Newer: 大病を患って思うところ
- Older: はじめてのマウスピース