在 apache 2.4 中,如何拒绝来自域名但允许来自该域名的 IP?

在 apache 2.4 中,如何拒绝来自域名但允许来自该域名的 IP?

我正在更新 .htaccess 文件以使用 apache 2.4 指令,而不是以前的允许/拒绝语法。我试图拒绝来自 amazonaws.com 的访问,因为它主要是自动流量/机器人。我意识到 slackbot 使用 aws 进行社交媒体预览,这在拒绝主机时不起作用。有没有办法阻止 amazonaws 但允许来自 amazonaws 域的特定 ip 或用户代理?也许像下面这样?我知道这行不通,但我正在寻找类似的方法。

<RequireAll> 
Require all granted
  Require not host amazonaws.com
  Require ip (ip from amazonaws.com)
</RequireAll>

答案1

条件“阻止 amazonaws 但允许特定 ip”意味着必须满足“非 amazonaws”或“特定 ip”两个条件之一才能允许访问。因此,您需要使用指令<RequireAny>来连接这两个条件,如下所示:

<RequireAny>
Require not host amazonaws.com
Require ip (ip from amazonaws.com)
</RequireAny>

省略该Require all granted指令。它将无条件地授予所有人访问权限,而这并不是您想要的。

相关内容