Apache-2.2
Apache 的“要求所有授權”到底做了什麼?
我剛剛將我的 Apache 伺服器更新為在 Ubuntu 13.04 下執行的 Apache/2.4.6。我曾經有一個包含以下內容的虛擬主機文件:
<Directory "/home/john/development/foobar/web"> AllowOverride All </Directory>
但是當我執行時,我得到了“禁止。您無權訪問/”
在進行了一些Google搜尋後,我發現要讓我的網站再次執行,我需要添加以下行“要求全部授予”,以便我的虛擬主機看起來像這樣:
<Directory "/home/john/development/foobar/web"> AllowOverride All Require all granted </Directory>
我想知道這是否“安全”並且不會帶來任何安全問題。我在 Apache 的頁面上讀到,這“模仿了以前由‘全部允許’和‘全部拒絕’指令提供的功能。該提供程序可以採用‘授予’或‘拒絕’兩個參數之一。以下範例將授予或拒絕對所有請求的訪問。”
但它沒有說這是否是某種安全問題,或者為什麼我們現在必須這樣做,而過去你不必這樣做。
訪問控製配置在 2.4 中發生了變化,舊的配置不做一些改動是不兼容的。見這裡。
如果您的舊配置是
Allow from all
(沒有阻止訪問服務的 IP 地址),那麼Require all granted
新的功能等效。
我知道這是一篇舊文章,但我認為我可以通過一個我一直使用的功能範例來提供更多幫助!
在 apache 2.2 中會是這樣的:
<Location /> Order deny, allow allow from all </Location> <Location /adm> Order deny, allow deny from all allow from myniceip </Location> <Location /disabled> Order deny, allow deny from all </Location>
在 apache 2.4 中會是這樣的:
<Location /> require all granted </Location> #Note that you dont need to use require all denied #to require only a group of ips.. <Location /adm> require ip myniceip </Location> <Location /disabled> Require all denied </Location>
使用 htacess 身份驗證時****要小心,這種新語法可能會做一些不好的和意想不到的事情,如果是這種情況,請閱讀: https ://unix.stackexchange.com/questions/413309/apache-2-4-wants-me- to-decide-require-valid-ip-or-require-valid-user你應該沒問題!