【发布时间】:2015-08-22 14:44:29
【问题描述】:
我在 nginx Web 服务器之前使用 varnish 作为缓存服务器。我在 varnish 配置文件中为后端服务器的定义配置了健康检查。但是清漆总是返回我的后端服务器生病了,当我停止我的清漆并直接连接 nginx 服务器时,它可以正常工作。我尝试使用 .url 或 .request 来启用后端服务器检查,但它永远无法正常工作。如何解决它很疯狂。
我的配置是:
probe backend_healthcheck {
.url = "/";
.window = 5;
.threshold = 3;
.interval = 300s;
}
backend nginx2 {
.host = "10.161.78.249";
.port = "80";
.probe = backend_healthcheck;
}
backend nginx2 {
.host = "10.161.78.249";
.port = "80";
.probe = backend_healthcheck;
}
import directors;
import std;
sub vcl_init {
new webserver = directors.hash();
webserver.add_backend(nginx1,1.0);
webserver.add_backend(nginx2,1.0);
}
sub vcl_recv {
set req.backend_hint = webserver.backend(req.http.cookie);
}
真不知道哪个配置出错了? varnish 在服务器上运行,有公共 ip,后端服务器只有内部 ip。
希望对我有所帮助,非常感谢。
【问题讨论】:
标签: varnish