VCL
Varnish Configuration Language
compileされてC言語が吐かれる
defautでbuiltin.vclが読み込まれる
docs
VarnishとVCLの歩き方
Proxy/CDNのeventとVarnishの対応
VCL(Varnish)の実行の大まかな流れ
4XXや5XXの時はVarnishでcacheさせない
VCLのbackend
VCLのacl
VCL object
VCLのaction
参考
Example VCL template - Varnish Developer Portal
VCLの例を見ながら1つずつ解説していく記事
概観が掴めて良い
/mrsekut-book-4297119250/681 (A.4 基本的なVCL)
/mrsekut-book-4297119250/701 (A.5 VCLを記述する際の注意点)
VCL特有の罠に引っかからないように
#WIP
#??
no-store付けてもcacheされるってマジ?
Fastlyのcache市内設定がおかしいのって、varnishに起因する?
Varnishの罠みたいなのがあればまとめておきたいmrsekut.icon
subroutineを列挙する?
requestを受け取った時に実行されるものや、
backend serverからfileを受け取った時に実行されるものなどがある
loopやjumpはない
型
string
"..."
{"..."}
"""..."""
/mrsekut-book-4297119250/696 (A.4.6 VCLのデータ型と型変換)
暗黙のcastがある
演算子
=
代入
==
比較
~
正規表現か、ACLのmatch
/mrsekut-book-4297119250/696
!, &&, ||
include
.vclを読み込む
import
VMODを読み込む
probe
VCLのprobe
ヘルスチェックなどに必要
定義すればdefault値が入る
https://www.varnish-software.com/developers/tutorials/example-vcl-template/#1-backend-definition
/mrsekut-book-4297119250/685
sub
VCLのsubroutines指定
様々なCookie情報を削除する
この辺に書いてる
/mrsekut-book-4297119250/681
VCL - Varnish Configuration Language — Varnish version trunk documentation
VCL - Varnish Configuration Language
VCL Syntax
いまいちわからん箇所があるmrsekut.icon
Built-in subroutines
Built-in VCL
Request and response VCL objects
Actions
Backend servers
The “none” backend
Multiple backends
Backends and virtual hosts in Varnish
Directors
Health checks
Connection Pooling
Hashing
Grace mode and keep
Separate VCL files
Using inline C to extend Varnish
VCL Examples
Device detection
reference index
The VCL language¶
VCL - The Varnish Configuration Language
VCL Variables
VCL backend configuration
VCL backend health probe
Varnish Processing States
https://varnish-cache.org/docs/trunk/reference/vcl.html#vcl-7
Varnish Configuration Language
DESCRIPTION
Operators
Conditionals
Variables
Strings
Booleans
Time
Durations
Integers
Real numbers
Regular Expressions
Include statement
Import statement
Comments
Backends and health probes
Access Control List (ACL)
VCL objects
Subroutines
Return statements
Multiple subroutines
Functions
ban(STRING)
hash_data(input)
synthetic(STRING)
regsub(str, regex, sub)
regsuball(str, regex, sub)
Versioning
EXAMPLES
SEE ALSO
HISTORY
COPYRIGHT