如何允许从某个范围内的单个 IP 进行访问,同时不允许其余 IP 进行访问,并在 httpd.conf 中同时允许所有其他地址?

How can I allow access from a single IP in a range, while disallowing the rest, and allowing all other addresses at the same time in httpd.conf?

提问人:Rigsnail 提问时间:10/24/2023 更新时间:11/1/2023 访问量:25

问:

我正在尝试允许整个子网的一个地址访问该目录,同时禁止其余地址,并允许所有其他地址访问该目录

我是否必须将这些命令分解为单独的块,例如;

<Directory directory-path>   
    <RequireAny>
    <RequireAll>
       Require ip 126.26.110.1
    </RequireAll>
    <RequireAll>
       Require all granted
       Require not ip 126.26.110.0
    </RequireAll>
    </RequireAny>
<Directory>

我只是想确保我走在正确的轨道上,非常感谢一些反馈

apache httpd.conf

评论


答:

0赞 Daniel Ferradal 11/1/2023 #1

有趣的案例。假设您的意思是禁止整个子网,但该 ip,但允许任何其他子网。

RequireAny 是隐含的,因此除非必要,否则不应指定它。

我认为你应该去(在我的测试中为我工作):

<Directory /path/to/whatever>
       Require ip 126.26.110.1
       <RequireAll>
           Require not ip 126.26.110
           Require all granted
       </RequireAll>
</Directory>

这样,它要么是第一选择,要么是第二组选择,四舍五入。