Apache-Httpd

Apache 2.4 要我決定:需要有效的 ip 還是需要有效的使用者

  • March 21, 2019

Apache 2.4 似乎混合了所有:IP 拒絕和使用者拒絕不再獨立工作..

在舊版本中,我能夠啟用這兩件事,並在不影響另一件事的情況下使用它,例如:

deny from all 
allow from ip1
allow from ip2 

在 apache2.4 中相當於:

require ip1 
require ip2

到此為止,一切都很好。

但是,當您的網站中有 htacess+htpasswd 時,行為並不像您預期的那樣,因為它認為所需的 ips 可以在沒有密碼的情況下輸入,取消 htacess,甚至最糟糕的是,所需列表中的 ips 能夠感謝htacess 嘗試使用密碼登錄,這不是 apache 2.2 所做的!

在古老的 apache 中,允許來自的主機是唯一可以嘗試進行身份驗證的主機……即使它們被允許,它仍然需要來自 htaccess 的密碼才能打開網站。

更新:

我現在可以使用 mod_acess_compat 解決該行為……但我認為這不是一個解決方案,因為我在 apache 2.4 上使用古老的命令……而且我擔心一些意想不到的行為或棄用這個模組…

聽起來你想要的是這樣的:

<RequireAll>
   <RequireAny>
       Require ip1
       Require ip2
    </RequireAny>
   Require valid-user
</RequireAll>

引用自:https://unix.stackexchange.com/questions/413309