Apache 2.4 要我决定:需要有效的 ip 或需要有效的用户

Luc*_*ini 2 apache-httpd

Apache 2.4 似乎混合了所有:IP 拒绝和用户拒绝不再独立工作..

在旧版本中,我能够启用这两件事,并在不影响另一件事的情况下使用它,例如:

deny from all 
allow from ip1
allow from ip2 
Run Code Online (Sandbox Code Playgroud)

在 apache2.4 中相当于:

require ip1 
require ip2
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。

但是,当您的网站中有 htacess+htpasswd 时,行为并不像您预期​​的那样,因为它认为所需的 ips 无需密码即可进入,对 htacess 进行分析,甚至最糟糕的是,由于htacess 尝试使用密码登录,这不是 apache 2.2 所做的!

在古老的 apache 中,允许来自的主机是唯一可以尝试进行身份验证的主机......即使它们被允许,它仍然需要来自 htaccess 的密码才能打开网站。

更新:

我现在可以使用 mod_acess_compat 解决该行为......但我认为这不是解决方案,因为我在 apache 2.4 上使用古老的命令......我担心一些意外行为或弃用这个模块...

Sha*_*dur 7

听起来你想要的是这样的:

<RequireAll>
    <RequireAny>
        Require ip1
        Require ip2
     </RequireAny>
    Require valid-user
</RequireAll>
Run Code Online (Sandbox Code Playgroud)