Apache訪問控制

Apache訪問控制

作用

1.控制對網站資源的訪問
2.爲特定的網站目錄添加訪問授權

常用訪問控制方式

1.客戶機地址限制
2.用戶授權限制
在這裏插入圖片描述


基於客戶端地址的訪問控制

1.使用Require配置項實現訪問控制,按先後順序限制
2.可用於<Location>、 <Directory>、 <Files>、 <Limit>配置段中

Require配置項的常見語法

Require all granted
Require all denied
Require local
Require [not] host <主機名或域名列表>
Require [not] ip <IP地址或網段列表>
使用not禁止訪問時要將其置於<RequireAll> </RequireAll>容器中並在容器中指定相應的限制策略

範例演示

Apache訪問之客戶機地址限制

1.先查看客戶機的IP地址
在這裏插入圖片描述


2.配置httpd擴展配置文件

[root@localhost ~]# cd /etc/httpd/conf/extra        //擴展配置文件目錄
[root@localhost extra]# ls
vhost.conf
[root@localhost extra]# vim vhost.conf      //編輯虛擬主機配文件

<VirtualHost 192.168.235.129:80>
DocumentRoot "/var/www/html/accp/"
ServerName www.accp.com
ErrorLog "logs/www.accp.com.error_log"
CustomLog "logs/www.accp.com.access_1og" common
<Directory "/var/www/html/">
        <RequireAll>            //容器起始標籤
            Require not ip 192.168.235.140      //禁止IP爲192.168.235.140的主機訪問
            Require all granted
        </RequireAll>           //容器結束標籤
</Directory>
</VirtualHost>

[root@localhost extra]# systemctl restart httpd     //重啓服務
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl stop firewalld.service 
[root@localhost ~]# setenforce 0

3.使用客戶機測試網頁
在這裏插入圖片描述


Apache訪問之用戶授權限制

1.創建用戶認證數據庫

[root@localhost ~]# cd /etc/httpd/conf          //進入httpd主配置文件
[root@localhost conf]# htpasswd -c /etc/httpd/conf/pwd test     //創建用戶加密文件,若文件存在則不需要加-c
New password:                       //輸入自定義密碼
Re-type new password:       //確認密碼輸入
Adding password for user test

[root@localhost conf]# cat pwd                      //查看用戶及密碼加密
test:$apr1$VBfoRWHC$Feck.BITMYhaOlEKrc/1j.

2.配置域名解析

[root@localhost extra]# vim /etc/named.rfc1912.zones 
zone "naccp.com" IN {
        type master;
        file "naccp.com.zone";
        allow-update { none; };
};

[root@localhost extra]# cd /var/named
[root@localhost named]# cp -p accp.com.zone naccp.com.zone
[root@localhost named]# vim naccp.com.zone 
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.235.142

3.配置httpd擴展配置文件

[root@localhost conf]# cd /etc/httpd/conf/extra
[root@localhost extra]# vim vhost.conf
...                     //省略部分不做修改,追加以下內容
<VirtualHost 192.168.235.142:80>
Documentroot "/var/www/html/accp02/"
ServerName www.naccp.com
Errorlog "logs/www.accp02.com.error_log"
Customlog "logs/www.accp02.com.access_log" common
<Directory "/var/www/html/">
        AuthName "DocumentRoot"   //聲明條目
        AuthType Basic            //基本驗證類型           
        AuthUserFile /etc/httpd/conf/pwd   //驗證文件目錄
        Require valid-user               //授權用戶的驗證  
</Directory>     
</VirtualHost>

[root@localhost extra]# systemctl restart httpd //重啓服務

4使用客戶機測試網頁
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章