目前,我正试图向我的日益增长的清漆配置文件中添加一些单元。
我成功地初始化了它,我想我掌握了varnishtest和vtc格式的基本知识。
我需要加载我的varnish.vcl -里面有几个后端。它对一些内部主机具有.host,这些主机不能从CI机器中解析。
我如何才能覆盖后端?
我的想法基本上是这样的:(api01是用内部dns在varnish.vcl中定义的。)
varnish v1 -vcl {
# …some vcl to define backends… #
include "${pwd}/varnish.vcl";
backend api01 { .host = "127.0.0.1"; }
}
varnish v1 -start它失败了-那个Backend host '"api_loadbalancer"' could not be resolved to an IP address
但是它不会继续定义上面的后端(用127.0.0.1) --在包含之前执行后端操作,会导致重新定义错误。
什么是正确的方式来模仿一个后端?
发布于 2016-12-22 06:48:01
我们已经将VCL代码拆分成多个文件,然后将它们“包括”到一个"main.vcl“中,然后我们使用该文件启动清漆。下面是一个简化的示例结构:
main.vcl
-- backends.vcl
-- directors.vcl
-- mainLogic.vcl这使您只能够将一些vcl-文件包含到测试用例中,并允许您指定后端。例如,如果您想使用真正的后端:
varnish v1 -vcl {
backend api01 { .host = "127.0.0.1"; }
include "${pwd}/mainLogic.vcl";
} 或者,如果您想嘲笑后端(我们所做的):
varnish v1 -vcl {
backend api01 {
.host = "${s1_addr}";
.port = "${s1_port}";
}
include "${pwd}/mainLogic.vcl";
}https://stackoverflow.com/questions/41272852
复制相似问题