从一段时间以来我使用的是Varnish Cache解决方案,只要配置与安装后的配置大致相同,一切都很顺利。
但现在我想用Varnish多做一点。目前我正在为我的服务器使用以下设置:
访客 - > CloudFlare - > HaProxy - >清漆(单独的服务器) - > Apache2内容。
我想知道的是我如何能够使用正确的vcl脚本来接受来自端口B上来自ip A的传入请求并将其重定向到端口D上的ip C.(这还有更多不止一次。)
示例:
Default.Varnish的效果如下:
DAEMON_OPTS="-a :8085,:8087 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,768m"
但现在关于Varnish.Default:
backend default_1 { .host = "11.22.333.444"; .port = "8885"; }
backend default_2 { .host = "11.22.333.444"; .port = "8887"; }
我尝试过这样的事情:
sub vcl_recv {
if (server.port == 8885) { set req.backend = default_1; }
if (server.port == 8887) { set req.backend = default_2; }
}
(请注意这两个请求都要发送到 相同的传出服务器只有端口不同!)
从Varnish那里了解得足够的人已经知道我想要什么了。我只想使用Varnish代理不同的渠道'基于不同的端口。
答案 0 :(得分:0)
尝试检查Varnish绑定端口,而不是后端端口
sub vcl_recv {
if (server.port == 8085) { set req.backend = default_1; }
if (server.port == 8087) { set req.backend = default_2; }
}