pacファイルでのproxyサーバ切り替えがイマイチだと思ったので、Squid経由でNicoCache_nlを使うようにした。
+-----------+ +---------+ |WEB BROWSER|------->| Squid |-----+-----> INTERNET +-----------+ +---------+ | | | +------------+ +----->|NicoCache_nl|---> ニコニコ動画 +------------+
NicoCache_nl*1もSquidもすでに動いているので、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にしている