我正在尝试将 Apache 访问控制指令从较旧的 Order、Allow 和 Deny 移至较新的 Require。不幸的是,使用旧方法太久后,我无法想出新方法。
基本上,我想拒绝除少数 IP 地址之外的所有人访问。使用旧格式,我有:
Order Deny,Allow
Deny from all
Allow from 192.168.123.123
Allow from 123.123.123.123
我思考它应该是这样的:
Require all denied
Require ip 192.168.123.123
Require ip 123.123.123.123
这似乎有效。
但我不确定我是否应该用“老方法”来思考。也许我应该以某种方式使用 RequireAll 或 RequireAny,或者我是否应该嵌套它们。
答案1
您需要使用授权容器和配置部分来设置默认限制,然后提供访问权限,例如:
<Directory "/">
Require all denied
</Directory>
<Directory "/path_to_document_root">
<RequireAny>
Require ip 192.168.123.123
Require ip 123.123.123.123
</RequireAny>
</Directory>
如需更多信息,请至少阅读全部的authz_core
该模块的 Apache 文档,然后也许还可以回顾一下Apache 配置部分文档。