允许/阻止对特定路径的访问,Apache 2.4 失败

允许/阻止对特定路径的访问,Apache 2.4 失败

我有一个部署在 AWS Beanstalk 环境中的 django 网站项目。我尝试将配置写入 apache 以阻止对特定路径 (/admin) 的访问。我避免更改 wsgi.conf 文件,而是在 .ebextensions 文件夹中编写 package.config,如下所示:

"/etc/httpd/conf.d/block_admin.conf":
  mode: "000644"
  owner: root
  group: root
  content: |
  <Location /admin>
     <RequireAll>
         Require ip <my_ip>/32
         Require all denied
     </RequireAll>
  </Location>

该代码拒绝对“/admin”的所有访问,包括来自我的 IP。我从以下服务获取我的 IP:我的 IP 是什么

我究竟做错了什么?

附言:我的英语还在不断进步中……

答案1

其中<RequireAll>包含一组授权指令,其中任何一个都不能失败,并且至少有一个必须成功才能使<RequireAll>指令成功;因此,RequireAll 要求(没有双关语的意思)“要求所有被拒绝”不能失败,这也许不是所期望的。

您是否尝试过仅使用“需要 ip/网络掩码”?

<RequireAll>
  Require ip <my_ip>/32
</RequireAll>

单个“需要 ip 网络/掩码”应该足够了RequireAll阻止从其他地方的访问。

相关内容