VCL-后端¶
配置后端¶
- 手册部分:
7
后端定义¶
后端声明创建并初始化命名的后端对象。声明以关键字开头 backend
后跟后端的名称。实际声明以键/值的方式放在花括号中。::
backend name {
.attribute1 = value;
.attribute2 = value;
[...]
}
如果有名为的后端 default
除非显式设置了另一个后端,否则将使用它。如果没有命名后端 default
VCL程序中的第一个后端成为默认后端。
如果您仅使用由VMOD创建的动态后端,则可以指定一个空的、始终失败的(503)后端:
backend default none;
后端必须指定为 .host
或者是 .path
属性,但不能同时使用。所有其他属性都有缺省值。
属性 .host
¶
要指定联网的后端 .host
采用数字IPv4/IPv6地址或解析为 at most 一个IPv4地址和一个IPv6地址::
.host = "127.0.0.1";
.host = "[::1]:8080";
.host = "example.com:8081";
.host = "example.com:http";
属性 .port
¶
可以将TCP端口号或服务名称指定为 .host
如上所述,或单独使用 .port
属性::
.port = "8081";
.port = "http";
属性 .path
¶
本地后端的Unix(4)域套接字的绝对路径::
.path = "/var/run/http.sock";
或者,如果有的话, @
后跟本地后端的抽象套接字的名称::
.path = "@mybackend";
如果加载VCL时UDS套接字不存在,则会发出警告。这样就可以启动UDS侦听对等体,或在之后设置套接字文件的权限。
如果UDS套接字不存在或权限拒绝访问,则连接尝试将失败。
属性 .host_header
¶
如果探测和常规后端请求没有这样的头,则添加到探测和常规后端请求的主机头::
.host_header = "Host: example.com";
超时属性¶
这些属性控制患者的程度 varnishd 在后端获取期间::
.connect_timeout = 1.4s;
.first_byte_timeout = 20s;
.between_bytes_timeout = 10s;
缺省值来自具有相同名称的参数,请参见 华而不实 。
属性 .max_connections
¶
限制Varnish可以同时打开到后端的连接数::
.max_connections = 1000;
属性 .proxy_header
¶
属性将代理协议头发送到后端 client.ip
和 server.ip
值::
.proxy_header = 2;
合法的值为1和2,具体取决于所需的代理协议版本。
Notice 此设置将导致后端连接仅用于单个请求(取决于未来的改进)。因此,应格外小心,以避免由于没有本地端口可用而与EADDRNOTAVAIL建立失败的后端连接。可能的选项包括:
使用额外的后端连接到额外的IP地址或TCP端口
增加可用端口数(Linux sysctl
net.ipv4.ip_local_port_range
)早期重用后端连接端口(Linux sysctl
net.ipv4.tcp_tw_reuse
)
属性 .preamble
¶
将所有新打开的连接上的BLOB发送到后端::
.preamble = :SGVsbG8gV29ybGRcbgo=:;
属性 .via
¶
另一个人的名字 proxy 后端,通过该后端与 destination 后端使用 PROXY2 协议,例如::
backend proxy {
.path = "/path/to/proxy2_endpoint";
}
backend destination {
.host = "1.2.3.4";
.via = proxy;
}
这个 proxy 后端还可以使用 .host
/ .port
定义而不是 .path
。
使用 .path
属性的属性。 destination 不支持后端。
这个 .via
属性与该属性无关 .proxy_header
。如果两者都使用,则会按照 .proxy_header
规格。
从本版本开始, proxy 后端与配合使用 .via
不能当导演,不能自己用 .via
(错误: Can not stack .via backends ),并且协议被固定为 PROXY2 。
实施详情:
If .via = <proxy>
is used, a PROXY2 preamble is created with
the destination backend's address information as dst_addr
/dst_port
and, optionally, other TLV attributes. The connection is
then made to the proxy backend's endpoint (path
or host
/port
). This is technically equivalent to specifying a backend
destination_via_proxy
with a .preamble
attribute containing the
appropriate PROXY2 preamble for the destination backend.
属性 .probe
¶
请看 VCL-探头 。
另请参阅¶
HISTORY¶
VCL是由Pul-Henning Kamp与Verden Gang AS、Redpill Linpro和Varnish Software合作开发的。本手册页面由Per Buer、Pul-Henning Kamp、Martin Blix Grydeland、Kristian LyngstøL、Lasse Karstensen等人撰写。
COPYRIGHT¶
本文档使用与Varnish本身相同的许可。有关详细信息,请参阅许可证。
版权所有(C)2006 Verdens Gang AS
版权所有(C)2006-2021 Varnish软件AS