varnish-generator v1.5.4
varnish vcl generator
Have a try http://aslant.site/varnish-generator/!
Installation
$ npm install varnish-generator -gRUN
varnish-generator -c ./examples/config.json -t ./examples/default.vclvarnishConfig
nameThe varnish instance's namevarnishThe varnish version, support'4'and'5', default is'5'staleThe seconds of stale, default is 3versionThe vcl version , default isnew Date().toISOString()timeoutThe timeout setting for all directorsconnectThe connect timeout, default is2firstByteThe firstByte timeout, default is5betweenBytesThe betweenBytes timeout, default is2
urlPassListThe url match(RegExp) the setting will be passhisForPassTTLThe hit for pass ttlhashThe hash settingdirectorsDirector list, ArraynameThe director's nameprefixThe prefix of the url for the director, optionalhostThe host for the director, optionaltypeThe algorithm of load balance, it can be 'fallback', 'hash', 'random', 'round_robin'. The default is 'round_robin'timeoutThe director timeout setting, if not set , it will be use the global timeout settingconnectThe connect timeoutfirstByteThe firstByte timeoutbetweenBytesThe betweenBytes timeout
backendsThe backend list, ArrayipThe ip of backendportThe port of backendweightThe weight of backend, it's used forrandomandhash
{
"name": "varnish-test",
"stale": 2,
"varnish": "4",
"timeout": {
"connect": 1,
"firstByte": 2,
"betweenBytes": 2
},
"urlPassList": [
"cache-control=no-cache"
],
"hisForPassTTL": 300,
"hash": [
"req.url",
[
"req.http.host",
"server.ip"
]
],
"directors": [
{
"name": "timtam",
"prefix": "/timtam",
"type": "fallback",
"timeout": {
"connect": 1,
"firstByte": 1,
"betweenBytes": 1
},
"backends": [
{
"ip": "127.0.0.1",
"port": 3000
},
{
"ip": "127.0.0.1",
"port": 3010
}
]
},
{
"name": "dcharts",
"prefix": "/dcharts",
"host": "dcharts.com",
"type": "hash",
"hashKey": "req.http.cookie",
"backends": [
{
"ip": "127.0.0.1",
"port": 3020,
"weight": 5
},
{
"ip": "127.0.0.1",
"port": 3030,
"weight": 3
}
]
},
{
"name": "vicanso",
"host": "vicanso.com",
"type": "random",
"backends": [
{
"ip": "127.0.0.1",
"port": 3040,
"weight": 10
},
{
"ip": "127.0.0.1",
"port": 3050,
"weight": 5
}
]
},
{
"name": "aslant",
"backends": [
{
"ip": "127.0.0.1",
"port": 8000
}
]
}
]
}How to use varnish better?
Please read my suggestion about using varnish.
How the cache of varnish is created?

How to run
varnishd -f ./default.vcl -p default_ttl=0 -p default_grace=1800 -p default_keep=10 -a :8001 -F
Using docker
docker pull vicanso/varnish
docker run -v $HOME/default.vcl:/etc/varnish/default.vcl -p 8001:80 -d --restart=always vicanso/varnishLicense
MIT
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago