由于產(chǎn)品的需要,最近在配置apache的負(fù)載均衡功能,但是在配置虛擬主機(jī)的訪問權(quán)限的時(shí)候我們遇到了一些問題。主要問題是deny和allow的執(zhí)行順序,抽時(shí)間研究了下這兩個(gè)參數(shù)的使用,現(xiàn)把deny和allow的使用情況總結(jié)如下。
一、使用情況總結(jié)
我們來看下下面的apache的一個(gè)配置,具體代碼如下:
1. 規(guī)律
當(dāng)我們看到一個(gè)apache的配置時(shí),可以從下面的角度來理解。一默認(rèn),二順序,三重疊。
2. 上面配置說明
[1] 一默認(rèn)
Order allow,deny ,這句話的作用是配置allow和deny的順序,默認(rèn)只有最后一個(gè)關(guān)鍵字起作用,這里起作用的關(guān)鍵字就是“deny”,默認(rèn)拒絕所有請(qǐng)求。為了便于理解,我們可以畫一個(gè)圓,圓的背景色涂上黑色,我們給這個(gè)圓起個(gè)編號(hào),叫圓1。
[2] 二順序
由于上邊的Order指出判斷的順序是先判斷allow的規(guī)則,然后才是deny的規(guī)則。所以我們要先判斷allow的請(qǐng)求,由于該請(qǐng)求中配置的是allow from all,
所以表示該請(qǐng)求允許所有請(qǐng)求。這時(shí)我們?cè)佼嬕粋€(gè)圓,背景色涂上白色,我們給圓起個(gè)編號(hào),叫圓2。
我們?cè)賮砜磀eny的判斷規(guī)則,由于 deny from 192.9.200.69 ,表示拒絕來自ip地址為“192.9.200.69”,所以我們可以畫出一塊紅色區(qū)域,表示“192.9.200.69”,我們把這塊區(qū)域叫區(qū)域3。
注意:即使把“Allow from all”寫在“deny from 192.9.200.69”下面,依然是需要先判斷allow規(guī)則,也就是說只有Order才能決定allow和order的優(yōu)先順序。
[3] 三重疊
我們把上邊產(chǎn)生的圓1、圓2和區(qū)域3依次從下往上堆疊在一起。每個(gè)層都是不透明的,這時(shí)我們可以看到最終效果是除了“192.9.200.69”這塊紅色區(qū)域外,其他的所有都是白色區(qū)域。也就是只有“192.9.200.69”這個(gè)ip地址沒有權(quán)限訪問該目錄,其他的請(qǐng)求都有權(quán)限訪問該目錄。
二、看看下面的例子
也許上邊沒有說明白,我們?cè)賮砜聪旅娴睦樱總€(gè)配置后面都有簡(jiǎn)單的說明,配置文件中的“#”號(hào)后邊的數(shù)字表示配置項(xiàng)起作用的先后順序。
1. 只允許192.9.200.69請(qǐng)求訪問目錄
新聞熱點(diǎn)
疑難解答
圖片精選