Apache-Httpd
Apache 2.4 要我決定:需要有效的 ip 還是需要有效的使用者
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>