VCL-Varnish配置语言¶
本节介绍如何使用Varnish配置语言(VCL)告诉Varnish如何处理您的HTTP流量。
Varnish有一个很好的配置系统。大多数其他系统使用配置指令,在这些指令中,您基本上可以打开和关闭许多开关。为此,我们选择使用一种称为VCL的领域特定语言。
每个入站请求都流经Varnish,您可以通过更改VCL代码来影响请求的处理方式。您可以将某些请求定向到特定的后端,您可以更改请求和响应,或者让Varnish根据请求或响应的任意属性采取各种操作。这使得Varnish成为一个非常强大的HTTP处理器,而不仅仅是用于缓存。
Varnish将VCL转换为二进制代码,然后在请求到达时执行。VCL对性能的影响可以忽略不计。
VCL文件被组织成子例程。不同的子例程在不同的时间执行。一个在我们收到请求时执行,另一个在从后端服务器获取文件时执行。
如果您没有在子例程中调用子例程中的某个操作,并且该操作到达末尾,则Varnish将执行一些内置的VCL代码。您将看到该VCL代码在文件中被注释掉 builtin.vcl 它与Varnish缓存一起提供。