Apache连接和访问控制

Apache连接和访问控制

Apache连接

Apache通过设置配置文件或者虚拟主机配置文件中相关的连接保持参数来开启与控制连接保持功能,如TCP的三次握手和四次挥手过程。

KeepAlive

决定是否打开连接保持功能,后面接on表示开启,接off表示关闭。可以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能。

KeepAlive Timeout

表示一次连接多次请求之间的最大时间间隔,超过间隔时间就会断开,从而避免客户端占用连接资源。

MaxKeepAliveTimeout

表示一次长连接能够传输最大请求数量。

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf    ## 编辑配置文件
插入内容如下:
KeepAlive on
#KeepAlive off
KeepAlive Timeout 400   ## 超时时间400秒
MaxKeepAliveRequests 100   ## 最大请求量100

Apache访问控制

为了控制网站的资源访问,可以为特定的网站目录添加访问授权

客户端地址的访问控制方法

使用Require配置项实现访问控制,按先后顺序限制,可用于、、、配置段中。Require配置项中常见的语法:

Require all granted
Require all denied
Require local
Require [not] host <主机名或者域名列表>
Require [not] ip <IP地址或网段列表>

实验步骤

编辑DNS

[root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };
        [root@localhost ~]# vim /etc/named.rfc1912.zones         
        zone "text.com" IN {
        type master;
        file "text.ccom.zone";
        allow-update { none; };
[root@localhost named]# vim text.com.zone 

        www    IN   A    192.168.136.88

输入以下命令测试域名解析服务是否生效

image-20200806221415681

[root@localhost named]# vim /etc/httpd/conf/httpd.conf 
Listen 192.168.136.88:80
#Listen 80
ServerName www.text.com:80
vim /var/www/html/index.html  ## 创建一个网站页面
<h1>this is web</h1>

image-20200806221937425

测试页面准备完成,现在来配置访问控制,拒绝客户机(192.168.136.88)访问页面

[root@localhost named]# mkdir /etc/httpd/conf/extra
[root@localhost named]# vim /etc/httpd/conf/extra/vhost.conf
<VirtualHost *:80>
   DocumentRoot "/var/www/html"
   ErrorLog "logs/www.test.com.error_log"
   CustomLog "logs/www.test.com.access_log" common
  <Directory "/var/www/html">
    <RequireAll>                             ###添加在这里开始
    Require not ip 192.168.136.123   拒绝对方的地址
    Require all granted
    </RequireAll>                            ###在这结束
  </Directory>
</VirtualHost>
[root@localhost named]# vim /etc/httpd/conf/httpd.conf   在http服务主配置文件尾部插入一行
Include conf/extra/vhost.conf
[root@localhost named]# systemctl restart httpd   重启http服务

image-20200806231944318

使用登陆方式进行验证授权实验

需求:客户机在访问www.kgc.com时必须输入正确的用户名和密码才能打开网页

实验设置的访问拒绝项目删除并重启服务

[root@localhost ~]# vim /etc/httpd/conf/extra/vhost.conf   ## 编辑虚拟主机配置文件
将这一项访问控制项删除:
<RequireAll>
Require not ip 192.168.50.140
</RequireAll>
重启http服务:systemctl restart httpd

创建密码文件

[root@localhost ~]# htpasswd -c /etc/httpd/conf/pwd zhang ## 创建密码文件(zhang为用户名,可以自行设置)
New password:         ## 设置密码
Re-type new password:      ## 重复密码
Adding password for user admin
[root@localhost named]# vim /etc/httpd/conf/extra/vhost.conf

修改vhost.conf配置文件

  <Directory "/var/www/html">标签下方插入以下内容:
    AuthName "root"        
    AuthType Basic
    AuthUserFile /etc/httpd/conf/pwd
    Require valid-user      
[root@localhost ~]# systemctl restart httpd  重启http服务

image-20200806233232464

输入用户和密码即可登录

猜你喜欢

转载自blog.csdn.net/weixin_47151717/article/details/107902183