可以在 path_beg 上做条件吗?
Possible to do conditions on a path_beg?
我想知道是否可以在 path_beg
acl 中添加一些条件运算符。
例如我想做这样的事情:
acl myacl path_beg /samples { and !path_beg /samples/view }
对于位于 /samples
的任何内容都会触发 myacl
,但如果路径为 /samples/view
则不会触发
这不能在 ACL 级别上定义,但是在规则中使用 ACL 时:
acl myacl path_beg /samples
acl myacl_exceptions path_beg /samples/view
use_backend mybackend if myacl !myacl_exceptions
如您所见,您可以定义两个单独的 ACL,然后使用它们来定义完整条件。请注意,在这种情况下,两个 ACL 在逻辑上组合在一起 AND
。还有其他选项可以组合多个 ACL。详情请参考documentation
请注意,您也可以使用匿名 ACL。一个具有匿名 ACL 的等效示例可能如下所示:
acl myacl path_beg /samples
use_backend mybackend if myacl ! { path_beg /samples/view }
我想知道是否可以在 path_beg
acl 中添加一些条件运算符。
例如我想做这样的事情:
acl myacl path_beg /samples { and !path_beg /samples/view }
对于位于 /samples
的任何内容都会触发 myacl
,但如果路径为 /samples/view
这不能在 ACL 级别上定义,但是在规则中使用 ACL 时:
acl myacl path_beg /samples
acl myacl_exceptions path_beg /samples/view
use_backend mybackend if myacl !myacl_exceptions
如您所见,您可以定义两个单独的 ACL,然后使用它们来定义完整条件。请注意,在这种情况下,两个 ACL 在逻辑上组合在一起 AND
。还有其他选项可以组合多个 ACL。详情请参考documentation
请注意,您也可以使用匿名 ACL。一个具有匿名 ACL 的等效示例可能如下所示:
acl myacl path_beg /samples
use_backend mybackend if myacl ! { path_beg /samples/view }