Fastly VCL reference
Fastly's Varnish is based on Varnish 2.1 and our Varnish syntax is specifically compatible with Varnish 2.1.5. The principal configuration mechanism of Varnish software is the Varnish Configuration Language (VCL), the scripting language used to configure and add logic to Varnish caches. Fastly has included a number of extensions to VCL that won't be covered by any other documentation.
Reference
Functions
Functions available in Fastly VCL.
Variables
VCL variables supported by Fastly.
Local variables
Fastly's VCL supports variables for storing temporary values during request processing.
Operators
Fastly's VCL provides various arithmetic and conditional operators.
Types
Fastly's VCL is a statically typed language. Several types are available.
Directors
Fastly's directors contain a list of backends to direct requests to.
VCL Snippets
About VCL Snippets
VCL Snippets are short blocks of VCL logic that can be included directly in your service configurations.
Using dynamic VCL Snippets
Dynamic VCL Snippets are versionless sections of VCL logic that can be inserted into your service configuration without requiring custom VCL. API only.
Using regular VCL Snippets
Regular VCL Snippets are versioned sections of VCL logic that can be inserted into your service configuration without requiring custom VCL.
Custom VCL
Creating custom VCL
Create your own Varnish Configuration Language (VCL) files with specialized configurations.
Uploading custom VCL
Upload custom VCL files to use custom VCL and Fastly VCL together at the same time.
Previewing and testing VCL
Preview and test custom VCL prior to activating a new version of a service.
Categories
Cryptographic
Functions for cryptographic- and hashing-related purposes.
Date and time
Variables and functions that provide flexibility when dealing with dates and times.
Edge Side Includes (ESI)
Variables that allow you to track and control requests with ESI.
Geolocation
Variables that provide the ability to search a geolocation database for a given host or IP address.
Miscellaneous
Miscellaneous features that don't easily fit into other categories.
Query string manipulation
Functions for query-string manipulation based on Dridi Boukelmoune's vmod-querystring for Varnish.
Randomness
Functions that support the insertion of random strings, content cookies, and decisions into requests.
Size
Variables that give more insight into what happened in a request.
TLS and HTTP/2
Variables that expose information about the TLS and HTTP/2 attributes of a request.
UUID
Functions that provide interfaces for generating and validating unique identifiers.
Documentation