Fastly memo
Fastly
https://www.fastly.com/
キャッシュの設定がそれぞれ変更される都度version管理されている
VCL(Varnish Configuration Language)というのに記載する。
sub vcl_recv {
/* unset state tracking header to avoid client sending it */
if (req.restarts == 0) {
unset req.http.X-Authed;
}
if (!req.http.X-Authed) {
/* stash the original URL and Host for later */
set req.http.X-Orig-URL = req.url;
/* set the URL to what the auth backend expects */
set req.url = "/authenticate";
/* Auth requests won't be cached, so pass */
return(pass);
}
if (req.http.X-Authed == "true") {
/* were authed, so proceed with the request */
/* reset the URL */
set req.url = req.http.X-Orig-URL;
} else {
/* the auth backend refused the request, so 403 the client */
error 403;
}
Authenticating before returning a request - VCL | Fastly Help Guides
https://docs.fastly.com/guides/vcl/authenticating-before-returning-a-request
# Pass through all requests for /login/* and /admin/*
if (req.url ~ "^/(hoge|fuga|login)/") {
return(pass);
}
こんなかんじでかけばキャッシュさせないURLの設定とかできる様子。
特定のリクエストをキャッシュ対象外に設定する - Japanese - Fastly's Community
https://community.fastly.com/t/topic/875
Cache を返しているかどうかの確認
キャッシュ関係のヘッダは「Cache-Control」「Expires」「Pragma」。
ブラウザのdeveloper tools とかで Network で該当ページのHTMLなりを選択して、Response headers を確認する。
キャッシュヒットしてるとこの辺で返ってくる。
X-Cache-Hits : 1
X-Cache : HIT
FastlyにキャッシュされたオブジェクトのTTL確認方法 - Japanese - Fastly's Community
https://community.fastly.com/t/fastly-ttl/867
そのほか Response headers
Cache-Control : no-store, no-cache, must-revalidate
Pragma : no-cache
Cache-Control ヘッダ
https://qiita.com/karore/items/2dc6ab8347c940ea4648#arrow_right-cache-control-ヘッダ
参考リンク
- 話題の次世代CDN Fastlyを触ってみた〜VCLカスタマイズまで - Qiita
https://qiita.com/yamato/items/0782b5c7c370daa1ddda - キャッシュについて整理してみた - Qiita
https://qiita.com/karore/items/2dc6ab8347c940ea4648 - 『Webを支える技術』 第9章 HTTPヘッダ まとめメモ - MogLog
http://sandragon.hatenablog.com/entry/2013/08/11/154006
*