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