gpt4 book ai didi

varnish - Varnish 5中多个VCL文件中的后端定义

转载 作者:行者123 更新时间:2023-12-03 17:46:45 29 4
gpt4 key购买 nike

我正在设置连接到2个后端服务器(Magento 2应用程序)的Varnish 5实例。

我正在使用新的Varnish 5功能来加载多个VCL文件。为了使事情现在变得非常简单,我将在示例中使用1个后端服务器。

因此,我有一个magento.vcl定义如下:

vcl 4.0;

import std;

# The minimal Varnish version is 4.0
# For SSL offloading, pass the following header in your proxy server or load balancer: 'X-Forwarded-Proto: https'

backend default {
.host = "127.0.0.1";
.port = "8088";
}

include "/etc/varnish/common.vcl";

还有一个 top.vcl
vcl 4.0;

import std;

backend default { .host = "127.0.0.1"; }

sub vcl_recv {
if (req.http.host == "magento2.dev") {
return (vcl(magento_vcl));
}
}

然后我跑
service varnish restart
varnishadm
vcl.load magento /etc/varnish/conf.d/magento.vcl
vcl.label magento_vcl magento
vcl.load top /etc/varnish/top.vcl
vcl.use top
quit

当浏览至magento2.dev时,几秒钟后出现后端提取错误。只有当我输入 magento.vcl并更改后端名称并做出后端提示时,它才起作用。见下文:
vcl 4.0;

import std;

# The minimal Varnish version is 4.0
# For SSL offloading, pass the following header in your proxy server or load balancer: 'X-Forwarded-Proto: https'

backend magento {
.host = "127.0.0.1";
.port = "8088";
}

sub vcl_recv {
set req.backend_hint = magento;
}

include "/etc/varnish/common.vcl";

为什么要指定后端提示? Varnish是否应该根据top.vcl中指定的主机加载其他VCL?还是有什么问题?

提前致谢,

最佳答案

看来 Varnish 确实会加载您通过vcl(label)指定的vcl。 .vcl应该指定对.vcl所针对的特定后端有效的backend_hint。我认为没有错。

关于varnish - Varnish 5中多个VCL文件中的后端定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43845185/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com