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使用客戶機測試網頁