10.6 Apache的訪問控制

2023-05-12 11:05 更新

Apache可以基于源主機(jī)名、源IP地址或源主機(jī)上的瀏覽器特征等信息對(duì)網(wǎng)站上的資源進(jìn)行訪問控制。它通過Allow指令允許某個(gè)主機(jī)訪問服務(wù)器上的網(wǎng)站資源,通過Deny指令實(shí)現(xiàn)禁止訪問。在允許或禁止訪問網(wǎng)站資源時(shí),還會(huì)用到Order指令,這個(gè)指令用來定義Allow或Deny指令起作用的順序,其匹配原則是按照順序進(jìn)行匹配,若匹配成功則執(zhí)行后面的默認(rèn)指令。比如“Order Allow, Deny”表示先將源主機(jī)與允許規(guī)則進(jìn)行匹配,若匹配成功則允許訪問請(qǐng)求,反之則拒絕訪問請(qǐng)求。

第1步:先在服務(wù)器上的網(wǎng)站數(shù)據(jù)目錄中新建一個(gè)子目錄,并在這個(gè)子目錄中創(chuàng)建一個(gè)包含Successful單詞的首頁文件。

    [root@linuxprobe ~]# mkdir /var/www/html/server
    [root@linuxprobe ~]# echo "Successful" > /var/www/html/server/index.html

第2步:打開httpd服務(wù)的配置文件,在第129行后面添加下述規(guī)則來限制源主機(jī)的訪問。這段規(guī)則的含義是允許使用Firefox瀏覽器的主機(jī)訪問服務(wù)器上的首頁文件,除此之外的所有請(qǐng)求都將被拒絕。使用Firefox瀏覽器的訪問效果如圖10-18所示。

    [root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf
    ………………省略部分輸出信息………………
    129 <Directory "/var/www/html/server">
    130 SetEnvIf User-Agent "Firefox" ff=1
    131 Order allow,deny
    132 Allow from env=ff
    133 </Directory>
    ………………省略部分輸出信息………………
    [root@linuxprobe ~]# systemctl restart httpd
    [root@linuxprobe ~]# firefox

圖10-18 火狐瀏覽器成功訪問

除了匹配源主機(jī)的瀏覽器特征之外,還可以通過匹配源主機(jī)的IP地址進(jìn)行訪問控制。例如,我們只允許IP地址為192.168.10.20的主機(jī)訪問網(wǎng)站資源,那么就可以在httpd服務(wù)配置文件的第129行后面添加下述規(guī)則。這樣在重啟httpd服務(wù)程序后再用本機(jī)(即服務(wù)器,其IP地址為192.168.10.10)來訪問網(wǎng)站的首頁面時(shí)就會(huì)提示訪問被拒絕了,如圖10-19所示。

    [root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf
    ………………省略部分輸出信息………………
    129 <Directory "/var/www/html/server">
    130 Order allow,deny 
    131 Allow from 192.168.10.20
    132 </Directory>
    ………………省略部分輸出信息………………
    [root@linuxprobe ~]# systemctl restart httpd
    [root@linuxprobe ~]# firefox

圖10-19 因IP地址不符合要求而被拒絕訪問

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)