我正在更新 .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
指令。它将无条件地授予所有人访问权限,而这并不是您想要的。