2011年9月16日金曜日

VarnishでGETメソッド以外をキャッシュしない方法

スズキです。

システム移行の案件などプロキシー型のCDNを動作確認するために。、
Varnishでエミュレートとすることが多々あります。

そのときに、CDNによっては、GETだけキャッシュして、
それ以外は、そのままオリジンサーバに通してしまうものもあり、
その辺りをVarnishでどのように実現するか、です。

といっても下記のようにな設定ファイルをで実現可能です。

sub vcl_recv {
  if(req.request == "GET") {
    return (lookup);
  }
  return (pass);
}

"lookup"はキャッシュからコンテンツを探し、
"pass"は、そのままオリジンサーバにパスする挙動となります。

なので上記は、GETメソッドのときはキャッシュからコンテンツを探し(lookup)
POSTのような、それ以外のメソッドのときは、そのままオリジンサーバに
パスするようになっています。

CDN使ってるシステムの移行はテストが大変...
--------
http://www.suz-lab.com

0 コメント: