麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB服務 > 正文

Apache配置參數deny和allow的使用實例

2020-05-27 13:02:25
字體:
來源:轉載
供稿:網友

   這篇文章主要介紹了Apache配置參數deny和allow的使用實例,需要的朋友可以參考下

  由于產品的需要,最近在配置apache的負載均衡功能,但是在配置虛擬主機的訪問權限的時候我們遇到了一些問題。主要問題是deny和allow的執行順序,抽時間研究了下這兩個參數的使用,現把deny和allow的使用情況總結如下。

  一、使用情況總結

  我們來看下下面的apache的一個配置,具體代碼如下:

  代碼如下:

  

  Order allow,deny #1

  Allow from all #2

  deny from 192.9.200.69 #3

  

  以前使用這兩個參數的時候比較混亂,具體不太清楚到底是哪個參數在起作用。通過實驗,我們可以總結下規律,具體規律如下:

  1. 規律

  當我們看到一個apache的配置時,可以從下面的角度來理解。一默認,二順序,三重疊。

  2. 上面配置說明

  [1] 一默認

  Order allow,deny ,這句話的作用是配置allow和deny的順序,默認只有最后一個關鍵字起作用,這里起作用的關鍵字就是“deny”,默認拒絕所有請求。為了便于理解,我們可以畫一個圓,圓的背景色涂上黑色,我們給這個圓起個編號,叫圓1。

  [2] 二順序

  由于上邊的Order指出判斷的順序是先判斷allow的規則,然后才是deny的規則。所以我們要先判斷allow的請求,由于該請求中配置的是allow from all,

  所以表示該請求允許所有請求。這時我們再畫一個圓,背景色涂上白色,我們給圓起個編號,叫圓2。

  我們再來看deny的判斷規則,由于 deny from 192.9.200.69 ,表示拒絕來自ip地址為“192.9.200.69”,所以我們可以畫出一塊紅色區域,表示“192.9.200.69”,我們把這塊區域叫區域3。

  注意:即使把“Allow from all”寫在“deny from 192.9.200.69”下面,依然是需要先判斷allow規則,也就是說只有Order才能決定allow和order的優先順序。

  [3] 三重疊

  我們把上邊產生的圓1、圓2和區域3依次從下往上堆疊在一起。每個層都是不透明的,這時我們可以看到最終效果是除了“192.9.200.69”這塊紅色區域外,其他的所有都是白色區域。也就是只有“192.9.200.69”這個ip地址沒有權限訪問該目錄,其他的請求都有權限訪問該目錄。

  二、看看下面的例子

  也許上邊沒有說明白,我們再來看下面的例子,每個配置后面都有簡單的說明,配置文件中的“#”號后邊的數字表示配置項起作用的先后順序。

  1. 只允許192.9.200.69請求訪問目錄

  代碼如下:

  

  Order deny,allow #1.默認允許全部請求

  deny from all #2.按照順序,先判斷deny規則,拒絕所有請求

  Allow from 192.9.200.69 #3.重疊,允許IP192.9.200.69的請求

  

  2. 允許所有請求訪問目錄

  代碼如下:

  

  Order deny,allow #1.默認允許全部請求

  deny from 192.9.200.69 #2.按照順序,先判斷deny規則,拒絕192.9.200.69的請求

  Allow from all #3.重疊,允許所有請求

  

  3. 拒絕所有請求訪問目錄

  代碼如下:

  

  Order allow,deny #1.默認拒絕全部請求

  Allow from 192.9.200.69 #2.順序,允許 192.9.200.69請求

  deny from all#3.重疊,拒絕所有請求

  

  4. 除了192.9.200.69的請求外,其他請求都可以訪問目錄

   代碼如下:

  

  Order allow,deny #1.默認拒絕全部請求

  Allow from all #2.順序,允許所有請求

  deny from 192.9.200.69#3.重疊,拒絕192.9.200.69請求

  

  Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用來控制目錄和文件的訪問授權。

  所以,最常用的是:

   代碼如下:

  Order Deny,Allow

  Allow from All

  注意“Deny,Allow”中間只有一個逗號,也只能有一個逗號,有空格都會出錯;單詞的大小寫不限。上面設定的含義是先設定“先檢查禁止設定,沒有禁止的全部允許”,而第二句沒有Deny,也就是沒有禁止訪問的設定,直接就是允許所有訪問了。這個主要是用來確保或者覆蓋上級目錄的設置,開放所有內容的訪問權。

  按照上面的解釋,下面的設定是無條件禁止訪問:

   代碼如下:

  Order Allow,Deny

  Deny from All

  如果要禁止部分內容的訪問,其他的全部開放:

   代碼如下:

  Order Deny,Allow

  Deny from ip1 ip2

  或者

  代碼如下:

  Order Allow,Deny

  Allow from all

  Deny from ip1 ip2

  apache會按照order決定最后使用哪一條規則,比如上面的第二種方式,雖然第二句allow允許了訪問,但由于在order中allow不是最后規則,因此還需要看有沒有deny規則,于是到了第三句,符合ip1和ip2的訪問就被禁止了。注意,order決定的“最后”規則非常重要,下面是兩個錯誤的例子和改正方式:

  代碼如下:

  Order Deny,Allow

  Allow from all

  Deny from domain.org

  錯誤:想禁止來自domain.org的訪問,但是deny不是最后規則,apache在處理到第二句allow的時候就已經匹配成功,根本就不會去看第三句。

  解決方法:Order Allow,Deny,后面兩句不動,即可。

   代碼如下:

  Order Allow,Deny

  Allow from ip1

  Deny from all

  錯誤:想只允許來自ip1的訪問,但是,雖然第二句中設定了allow規則,由于order中deny在后,所以會以第三句deny為準,而第三句的范圍中又明顯包含了ip1(all include ip1),所以所有的訪問都被禁止了。

  解決方法一:直接去掉第三句。

  解決方法二:

  復制代碼 代碼如下:

  Order Deny,Allow

  Deny from all

  Allow from ip1

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品网址 | 俄罗斯16一20sex牲色另类 | 国产视频在线免费观看 | 久久国产免费 | 国产精品爆操 | 91av久久 | 日本高清视频网站www | av不卡免费观看 | 日韩视频一二三 | 91网页 | 亚洲精品 欧美 | av电影在线免费 | 久草在线视频免费播放 | 黄色试看视频 | 91成人一区二区三区 | 国产免费激情视频 | 亚欧在线免费观看 | 一区二区三区精品国产 | 久久经典免费视频 | 污黄视频在线观看 | 欧美国产一区二区三区激情无套 | 国产精品刺激对白麻豆99 | 狠狠干91 | 欧美毛片 | 欧美久久久久久久久 | 成人福利视频在线观看 | 天堂福利电影 | 黄色大片网 | 中文字幕 在线观看 | 国产在线观看91精品 | 欧美一级美国一级 | 日日夜av | 越南一级黄色片 | 精品国产一区二区三区免费 | 免费观看一级 | 亚洲一级片免费观看 | 欧美一级毛片欧美一级成人毛片 | 久久久久电影网站 | 日本一区二区在线 | 久久久久亚洲视频 | 日本中文字幕电影在线观看 |