apache 2.2 和 2.4 訪問控制區別 (require 替代 deny)
阿新 • • 發佈:2019-02-13
、訪問控制
在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