I think it’s more easy to use varnishd -C -f /path/to/foo.vcl
##############################################
The simplest way to test syntax is to use the administration console via telnet on a Dev/QA Varnish machine. Your current running Varnish should allow your IP/localhost to connect if you have implemented a Varnish ACL.
- Start up Varnish with single command-line
- Login to console via telnet
- Load the config you wish to test
- Use the config.
On OSX:
sudo /usr/local/sbin/varnishd -F -a localhost:3000 -b localhost:6081 -T localhost:6082
From another console/shell/ open connection to Varnish management console:
telnet localhost 6082
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Load config and try to use (the config used in this example has a syntax problem. Therefore, you will see compilation errors:
vcl.load error /Users/hbeaver/code/varnish_demo/config/syntax_error.vcl
106 181
Message from VCC-compiler:
Expected one of
'acl', 'sub', 'backend', or 'director'
Found: '}' at
(input Line 12 Pos 1)
}
#
Running VCC-compiler failed, exit 1VCL compilation failed
Conversely, if the VCL has good syntax you should see no errors:
vcl.load good_config /Users/hbeaver/code/varnish_demo/config/default.vcl
200 13
VCL compiled.