使用 IP 地址(和端口)

Using an IP address (and port)

Ubuntu 18/清漆 4.x

我不确定我错过了什么。

文档 (http://manpages.ubuntu.com/manpages/xenial/en/man7/varnish-cli.7.html) 似乎建议:

...
backend.list [-p] [<backend_expression>]
  List backends.
...
Backend Expression
  A  backend  expression  can be a backend name or a combination of backend name, IP address
  and port in "name(IP address:port)" format.
...

但是,我不知道我是否遗漏了什么,因为我无法通过 Ubuntu 18 中的 IP 地址或端口来列出或设置为 auto/sick:

varnish> backend.list *www*
200
Backend name                   Admin      Probe                Last updated
xxx-www-5          probe      Healthy             5/5 Fri, 22 Oct 2021 08:36:34 GMT
xxx-www-5http      probe      Healthy (no probe)   Sat, 16 Oct 2021 18:52:41 GMT
varnish> backend.list *10.105*
200
Backend name                   Admin      Probe                Last updated
varnish>

其他相关信息:

Varnish config:
...
backend xxx-www-5 {
        .host = "xxxweb05";
        .port = "xxx443";
...
}
backend xxx-www-5http {
        .host = "xxxweb05";
        .port = "xxx80";
...
}
...

$ nslookup xxxweb05
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   xxxweb05.xxx.com
Address: 10.105.xxx.xxx

我尝试过滤 IP 地址并将自己移植到我安装了 Varnish 4.1 的 Ubuntu Trusty Docker 容器上。

它没有用,我只设法过滤后端名称。

然而,Varnish 4 已经死去并被埋葬了。它已停产,不再提供任何支持和错误修复,并且存在一些已知的安全问题。

请使用 Varnish 6:6.0 LTS 版本或任何新功能版本。

也就是说,此功能的最新文档不再列出 IP 地址或端口。参见 http://varnish-cache.org/docs/6.0/reference/varnish-cli.html#backend-pattern

我想这个功能在最新版本中不再受支持,而且在 Varnish 4 上似乎也不能很好地工作。

My advice: install Varnish 6.0 LTS as described on https://www.varnish-software.com/developers/tutorials/installing-varnish-ubuntu/ and forget the IP/port filter for backend.list ever existed.