2015年4月11日土曜日

キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(4)

■Polipoのインストール


 現在のバージョンは1.0.4.1。
$ sudo apt-get install polipo

 そして設定。
$ sudo nano /etc/polipo/config

 のち再起動。
$ sudo /etc/init.d/polipo restart

 ウチの設定内容を晒しておくと…
proxyAddress = "::0"
proxyPort = [port of Polipo]
allowedClients = 127.0.0.1, 192.168.x.0/24
diskCacheRoot = ""
dnsQueryIPv6 = happily
dnsUseGethostbyname = true
pmmFirstSize = 65536
pmmSize = 32768
disableLocalInterface = true
relaxTransparency = maybe

 「relaxTransparency = maybe」は、パイプライン取得に対応していないサイトを表示した場合に502(実際には206)エラーとなるのを回避する。
 具体的にはZiproxyの公式ページから「Download」や「faq」に遷移した場合にエラーとなるのを回避している。

■Ziproxyのインストール


 現在のバージョンは3.2.0。
$ sudo apt-get install ziproxy

 そして設定。
$ sudo nano /etc/ziproxy/ziproxy.conf
Port = [port of Ziproxy]
OnlyFrom = "192.168.x.1-192.168.x.254"
NextProxy="[RPi2-IPAddr.]"
NextPort=[port of Polipo]
UseContentLength = false
ProcessGIF = false
ProcessHTML = false
ProcessCSS = false
ProcessJS = false
ImageQuality = {50,50,80,0}

 また、ownCloudでやりとりする画像まで圧縮しないように、「noprocess.list」に以下を追加。
$ sudo nano /etc/ziproxy/noprocess.list
http://192.168.x.*/*

 のち再起動
$ sudo /etc/init.d/ziproxy restart

 設定については、Ziproxyのソースを落としてREADMEに書いてあることを読んでおくことを推奨。
 元のziproxy.confには「Image quality is specified in integers between 100 (best) and 0 (worst).」と書いてあるけど、0を指定した場合、実際にはZiproxyは処理を行わずに画像をバイパスする。
 また、HTMLを圧縮する設定にしても、子プロキシがSquidの場合は圧縮したHTMLを渡さない、とも書いてある。
 実際に、IE11でF11キーを押して出てくるデバッグモードから確認すると、確かにSquidを通す場合と通さない場合でHTMLの受信サイズ(展開後のサイズではない)が違うので、ZiproxyをSquidの親として設定する場合は、不要な処理をしないように「ProcessHTML」等をfalseにしておくと良い。
 ProcessGIFは…GIFアニメーションが静止画になってしまうのでfalseに。

 自分の場合は、ある程度大きい画像はコンテンツの一部としてみなして圧縮せず、小さい画像はページの装飾物とみなし、画質をある程度落とす程度とした。
 サムネが多い画像掲示板やTumblr、また装飾物が多い楽天のショップ等は、これで結構軽くなった。


キャッシュサーバとownCloudサーバをRaspberryPi2に移行する-IPv6対応(5)に続く...

0 件のコメント:

コメントを投稿