我正在尝试配置我的 apache 以限制对特定 url 的访问,但特定范围内的所有 ip 除外,但有一些例外。
我的想法如下:
<Location "/uebung3">
Require ip 123.1.0.0/16
Require not ip 123.1.1.0/24
Require not ip 123.1.3.0/24
Require not ip 123.1.5.128/25
Require not ip 123.1.7.0/24
Require not ip 123.1.11.0/24
Require not ip 123.1.12.0/24
</Location>
但是,由于某种原因,这不起作用,因为要求似乎没有生效。
当我重新启动 apache 时,出现错误
negative Require directive has no effect in <RequireAny> directive
我是否遗漏了有关订单的内容?或者是否根本没有办法使用 require 不从先前的过滤器中排除某物?
没有,这有点陈旧(8个月)。但自从我正在研究这个问题以来,我来到这里并注意到它与此有关:
“当在单个配置节中使用多个 Require 指令并且不包含在另一个授权指令(如 )中时,它们将隐式包含在指令中。因此,第一个授权用户的指令将授权整个请求,并且后续的 Require 指令将被忽略.”
来自 apache 2.4 手册...语法默认为 RequireAny,逻辑上 Require [not] 不起作用。
有一个学习曲线,但我比旧的允许拒绝指令更喜欢这个。这是我看到的地方:https://httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require
继续摇滚