Varnish,后端使用 URL 而不是 IP 地址

Varnish, using URL for backend instead of IP address

我开始使用清漆设置反向代理服务器。我没有设置清漆的经验。

我正在尝试使用后端的 url 而不是 ip 地址,但没有成功:

1- 方法一:

backend default {
  .host = "www.backend.mysite.com";
  .port = "80";
}

问题a:重启varnish一直失败

2- 方法 b:

sub vcl_recv {
set req.http.Host = "www.backend.mysite.com"; 
...
}

问题 b:使用这种方法,当我在浏览器栏中输入 mysite.com 时,它会被重定向到 www.backend.mysite.com.

我不认为这是该规则可接受的行为。如果我错了请纠正我。

谢谢, 沙巴

您的第一次尝试应该可以,但您的 varnish 服务器需要能够访问互联网或至少能够访问 dns 服务器。

当您启动 varnish 时,它将进行 dns 查找并用 dns 提供的第一个 ip 替换 www.backend.mysite.com。