Apache配置與應用——權限管理與身份驗證(詳!!)

Apache鏈接保持

Apache鏈接保持相關參數

*     KeepAlive
            是否打開鏈接保持,off關閉,on打開
*     KeepAliveTimeout
            一次鏈接屢次請求之間的最大間隔時間,兩次請求超過該時間鏈接斷開
*     MaxKeepAliveRequests
            一次鏈接可以傳輸的最大請求數量

Apache訪問控制

做用

控制對網站資源的訪問
爲特定的網站目錄添加訪問受權

經常使用訪問控制方式

客戶機地址限制
用戶受權限制

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

1. 使用Require配置項實現訪問控制,按前後順序限制
2. 可用於<Location>,<Directory>,<Files>,<Limit>配置段中
3. Require配置項的常見語法
    * Require all granted
    * Require all denied
    * Require local
    * Require [not] host <主機名或域名列表>
    * Require [not] ip <IP地址或網段列表>
    使用not禁止訪問時要將其置於<RequireAll></RequireAll>
    容器中並在容器中指定相應的限制策略

實例1——客戶機地址限制訪問

環境

上篇博客配置好的accp,naccp網頁
一臺測試主機(192.168.13.135)

1,配置http擴展配置文件內容

[root@localhost /]# cd /etc/httpd/conf/extra  ##切換到擴展配置文件目錄
[root@localhost extra]# vim vhost.conf
##accp的配置文件內容
<VirtualHost 192.168.13.133:80>
    Documentroot "/var/www/html/accp/"
    ServerName www.accp.com
    Errorlog "logs/www.accp.com.error_log"
    Customlog "logs/www.accp.com.access_log" common
    <Directory "/var/www/html/">
        <RequireAll>        ##容器
            Require not ip 192.168.13.135  ##禁止測試主機的訪問accp
            Require all granted
        </RequireAll>
    </Directory>
##naccp配置文件的內容
</VirtualHost>
<VirtualHost 192.168.13.132: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/">
        Require all granted
    </Directory>
</VirtualHost>

2,重啓網絡服務並測試網頁

[root@localhost extra]# systemctl restart httpd.service ##重啓網絡服務

Apache配置與應用——權限管理與身份驗證(詳!!)
Apache配置與應用——權限管理與身份驗證(詳!!)

實例2——用戶身份驗證

1,建立用戶認證數據庫

[root@localhost ~]# cd /etc/httpd/conf
[root@localhost conf]# htpasswd -c /etc/httpd/conf/pwd test01 
##建立加密文件,若是文件存在則不須要加-c
New password:     ##輸入密碼
Re-type new password:      ##再次輸入密碼
Adding password for user test01
[root@localhost conf]# cat pwd  ##查看用戶及密文
test01:$apr1$LqlktXok$lUk/5byVWXbvv6dNdRsFg1

2,修改擴展http配置文件

[root@localhost ~]# cd /etc/httpd/conf/extra
[root@localhost extra]# vim vhost.conf
    <VirtualHost 192.168.13.133:80>      ##此段不須要更改
        Documentroot "/var/www/html/accp/"
        ServerName www.accp.com
        Errorlog "logs/www.accp.com.error_log"
        Customlog "logs/www.accp.com.access_log" common
        <Directory "/var/www/html/">
            <RequireAll>
                Require not ip 192.168.13.135
                Require all granted
            </RequireAll>
        </Directory>
    </VirtualHost>
    ##修改此段directory內容
<VirtualHost 192.168.13.132: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>

3,重啓http服務並測試驗證

[root@localhost extra]# systemctl restart httpd.service ##重啓web服務

Apache配置與應用——權限管理與身份驗證(詳!!)
Apache配置與應用——權限管理與身份驗證(詳!!)
Apache配置與應用——權限管理與身份驗證(詳!!)

相關文章
相關標籤/搜索