Varnish为后端设置上游代理

Varnish为后端设置上游代理
backend default {
    .host = "external.site.com";
    .port = "80";
}

我需要从 varnish 服务器通过代理联系后端。如何添加代理?

.proxy = "";后端配置中没有类似的东西吗?

我尝试定义 .host = "my-proxy-ip";和设置req.http.Host = "external.site.com";,使用代理作为后端并强制Host标题,但它不起作用。

答案1

我第一次尝试将代理设置为后端,而不是最终服务器本身,这是正确的:

backend default {
    .host = "my.proxy.com";
    .port = "8080";
}

但重写Host头部是不够的。req对象本身也必须重写:

set req.url = "http://external.site.com" + req.url;

相关内容