有没有一种用Varnish VCL语言定义域名列表的方法?我认为ACL也有类似的情况。我想这样做(以ACL为例)。
acl website_list {
'(www\.)?domain.tld';
'(www\.)?domain2.tld';
}
...
if(req.http.Host ~ website_list) return(lookup);我可以只使用单独的RegEx测试,但是如果我想在VCL中的其他地方使用这些域,那么它的可重用性就不是很好。
谢谢!
发布于 2012-02-04 19:34:18
你可以有一个测试条件来设置一个标记头,然后再测试一下:
sub vcl_recv {
if (req.http.Host ~ "^(www\.)?domain.tld" ||
req.http.Host ~ "^(www\.)?domain2.tld") {
/* Set the magic marker */
set beresp.http.magicmarker = "1";
}
if (resp.http.magicmarker) {
return(lookup);
}
}https://stackoverflow.com/questions/7685209
复制相似问题