apache訪問控制ip

apache訪問控制

apache默認支持兩種支持訪問控制,一種針對目錄,一種針對文件的,兩種方式都會受到訪問控制列表的影響

針對目錄的:
<Directory>
指令1
指令2
</Directory>

針對文件:
<File ~ "file"> ~匹配正則
指令1
指令2
<File>
訪問控制的類型
1.設置目錄特性
2.基於主機
3.基於用戶

基於主機/目錄的訪問控制
[root@client ~]#echo test.com >/var/www/html/index.html
[root@client ~]# vim /etc/httpd/conf/httpd.conf 修改httpd主配置文件

<Directory "/var/www/html"> 第131行
Options Indexes FollowSymLinks
AllowOverride None
#Require all granted (要求所有授權) 註釋此行
Order allow,deny 訪問控制匹配順序爲先允許,後拒絕
Allow from 192.168.11.1 192.168.11.12 192.168.11.11 允許此IP的客戶機訪問此目錄的網站
</Directory>
systemctl restart httpd
[root@client ~]# curl 192.168.11.11 分別用客戶機192.168.11.1、192.168.11.12、192.168.11.13訪問網站,訪問結果是11.1、192.168.11.12這臺主機能訪問網站,11.13是不能訪問網站的

# apache用戶認證要接上面的一起做
是指客戶端在訪問網站時會提示輸入用戶名和密碼,通過驗證後才能顯示網頁內容。

papche認證用戶賬號的創建工具:htpasswd
查htpasswd文件由哪個包提供: yum provides htpasswd
安裝htpasswd工具的軟件 : yum -y install httpd-tools

訪問httpd的離線幫助手冊(必須看):firefox 192.168.11.11/manual

<Directory /var/www/html/>
AuthName web1 認證名稱爲web1,名稱是用戶取的
AuthType Basic 認證類型爲Basic基本認證
AuthUserFile /etc/httpd/htuser 認證的用戶賬號和密碼的文件,此文件用htpasswd命令來生成
Require user lily 允許訪問的用戶賬號

</Directory>

實現思路: 對/var/www/html默認主頁目錄做基於用戶認證的訪問控制。
第一步,創建用戶認證賬號文件。
創建基於用戶認證的訪問用戶賬號:
htpasswd -cm /etc/httpd/htuser lucy 創建lucy用戶,並生成htuser賬號文件,密碼01
htpasswd -m /etc/httpd/htuser lily 添加lily用戶到htuser文件中
cat /etc/httpd/htuser 查看htuser文件

htpasswd命令選項:
-c 創建新的htpasswd賬號文件,僅用於第1次
-m 以MD5方式加密用戶密碼
-D 刪除指定的用戶賬

第2步,對/var/www/html默認煮主頁目錄設置基於用戶認證的訪問控制。
vim /etc/httpd/conf/httd.conf 在文件的如下代碼中編輯如下內容
131 <Directory "/var/www/html">
156井 Require all granted 註釋此行
159AuthName web1
160AuthType Basic
161AuthUserFile /etc/httpd/htuser
162Require user lily
</Directory>
第3步,重啓服務,訪問測試
systemctl restart httpd
curl 192.168.11.11 匿名訪問網站(無法訪問)
curl 192.168.11.11 -u lily:01 使用此用戶訪問網站(正常訪問)
curl 912.168.11.11 -u lucy:01 無法訪問
在window10中訪問網站http://192.168.11.11驗證結果爲提示輸入用戶名和密碼才說明設置成功

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