本文翻譯自官方文檔:《Upgrading to 2.4 from 2.2》
一、訪問控制
在Apache2.2版本中,訪問控制是基于客戶端的主機名、IP地址以及客戶端請求中的其他特征,使用Order(排序), Allow(允許), Deny(拒絕),Satisfy(滿足)指令來實現。
在Apache2.4版本中,使用mod_authz_host這個新的模塊,來實現訪問控制,其他授權檢查也以同樣的方式來完成。舊的訪問控制語句應當被新的授權認證機制所取代,即便Apache已經提供了mod_access_compat這一新模塊來兼容舊語句。
這里有一些實例,用新方法取代舊語句實現相同的訪問控制
實例1:所有請求都被拒絕
Apache2.2 配置:
代碼如下:
Order deny,allow #排序,先拒絕后允許
Deny from all #拒絕所有
Apache2.4 配置:
代碼如下:
Require all denied #拒絕所有
實例2:所有請求都被允許
Apache2.2 配置:
代碼如下:
Order allow,deny #排序,先允許后拒絕
Allow from all #允許所有
Apache2.4 配置:
代碼如下:
Require all granted #拒絕所有
實例3:example.org所有請求都被允許,其他拒絕
Apache2.2 配置:
代碼如下:
Order Deny,Allow #排序,先拒絕后允許
Deny from all #拒絕所有
Allow from example.org #允許example.org
Apache2.4 配置:
代碼如下:
Require host example.org #拒絕所有
二、Apache Require 指令
了解更多require指令用法:《Apache Module mod_authz_core》
附:常見訪問控制指令
代碼如下:
Require all granted #允許所有
Require all denied #拒絕所有
Require env env-var [env-var] ... #允許,匹配環境變量中任意一個
Require method http-method [http-method] ... #允許,特定的HTTP方法
Require expr expression #允許,表達式為true
Require user userid [ userid ] ... #允許,特定用戶
Require group group-name [group-name] ... #允許,特定用戶組
Require valid-user # #允許,有效用戶
Require ip 10 172.20 192.168.2 #允許 特定IP
新聞熱點
疑難解答