如何解决基于主机的动态Varnish ACL匹配
我有一个用于处理大量主机的清漆缓存,其中一些主机需要由ACL保护,该ACL特定于每台主机,有些主机根本没有ACL。
此刻我的VCL看起来像这样:
acl foo_acl {
"1.1.1.1";
}
acl bar_acl {
"1.1.1.2";
}
sub vcl_recv {
if (req.http.host == "foo.com" && ! (client.ip ~ foo_acl)) || (req.http.host == "bar.com" && ! (client.ip ~ bar_acl)) {
error 403 "Forbidden";
}
# Rest of request
}
这适用于几个主机,但是随着数量的增加,它变得非常麻烦。
我正在寻找一种方法来对此进行干燥,也许是根据主机名查找了正确的ACL?而不是必须明确定义条件中的每个条件?
我也愿意接受其他建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。