SquidとNicoCache_nlの連携

pacファイルでのproxyサーバ切り替えがイマイチだと思ったので、Squid経由でNicoCache_nlを使うようにした。

+-----------+        +---------+
|WEB BROWSER|------->|  Squid  |-----+-----> INTERNET
+-----------+        +---------+     |
                                     |
                                     |      +------------+
                                     +----->|NicoCache_nl|---> ニコニコ動画
                                            +------------+

NicoCache_nl*1Squidもすでに動いているので、Squidの設定を変更するだけだった。同じことをしている人を探して、Squid/ニコニコ動画のキャッシュ共有 NicoProxy2 と Squid を連携させる - maruko2 Note.HugeDomains.com - Shop for over 300,000 Premium Domainsに書かれている内容を真似しただけだ。

NicoCahe_nlを経由させるドメイン

/usr/local/etc/squid/nicovideo.listを新規に作成した。

.nicovideo.jp
.smilevideo.jp
.nimg.jp

Squid.confの変更点

少し特殊なのは、2行目で"proxy-only"を外していることだ。キャッシュの重複が起こって無駄なのだけど、親ProxyであるNicoCache_nlは限定したデータしかキャッシュしないので、Squidでキャッシュさせることにした。これが効率良いのかはしばらく試して確認する。

acl nicovideo dstdomain "/usr/local/etc/squid/nicovideo.list"
cache_peer localhost parent 8080 0 no-query
cache_peer_access localhost allow nicovideo
always_direct allow !nicovideo
never_direct allow all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

*1:Portは8080にしている