文章目录
一、Apache连接保持1、为什么要保持连接2、保持连接的方式二、Apache访问控制1、Apache访问控制概述2、基于客户端地址的访问控制3、用户授权限制–创建用户认证数据库4、用户授权限制–添加用户授权配置5、验证一、Apache连接保持
1、为什么要保持连接
HTTP协议是基于TCP协议之上的,在进行HTTP连接之前,要先进行TCP连接,每个TCP连接都要进行三次握手与四次挥手。建立与关闭连接对于HTTP协议而言会消耗很多的内存与CPU资源。
解决办法是HTTP连接保持。就是尽量地保持客户端的连接,通过一个TCP连接传送多个HTTP请求响应,对于客户端可以提高50%以上的响应时间,对于服务器可以降低建立与关闭连接时的资源消耗。
2、保持连接的方式
Apache连接保持相关参数
KeepAlive
是否打开连接保持,OFF关闭,ON打开
KeepAliveTimeout
一次连接多次请求之间的最大间隔时间,两次请求超过该时间连接断开
MaxKeepAliveRequests
一次连接能够传输的最大请求数量
二、Apache访问控制
1、Apache访问控制概述
作用
控制对网站资源的访问
为特定的网站目录添加访问授权
常用访问控制方式
客户机地址限制
用户授权限制
2、基于客户端地址的访问控制
使用Require配置项实现访问控制,按先后顺序限制
可用,,,配置段中
Require配置项的常见语法
Require all grantedRequire all deniedRequire localRequire [not] host <主机名或域名列表>Require [not] ip <IP地址或网段列表>'//使用not禁止访问时要将其置于<RequireAll></RequireAll>容器中,并在容器中指定相对应的限制策略'
具体如下
[root@localhost ~]# cd /etc/httpd/conf[root@localhost conf]# lshttpd.conf magic[root@localhost conf]# mkdir abc[root@localhost conf]# lsabc httpd.conf magic[root@localhost conf]# cd abc[root@localhost abc]# vim vhost.conf<VirtualHost *:80>...省略内容<Directory "/var/www/html">Require not ip 192.168.100.100'//表示不允许ip192.168.100.100访问'Require all granted '这个是一定要有的 否则启动会报错'</Directory></VirtualHost>...省略内容
3、用户授权限制–创建用户认证数据库
创建用户认证数据库
命令基本格式'//htpasswd命令是httpd自带的'htpasswd -c /etc/httpd/conf/abc webadmin '//为用户webadmin创建密码文件'New password:'//输入密码'Re-type new password:'//重复输入密码'cat /etc/httpd/conf/abcwebadmin:加密密码
[root@localhost abc]# htpasswd -c /etc/httpd/conf/aaa dddNew password: Re-type new password: Adding password for user ddd[root@localhost abc]# cat /etc/httpd/conf/aaaddd:$apr1$zwIklPGy$ZINaIkXsSq36oIk2lAiiJ1'//添加第二个用户'[root@localhost abc]# htpasswd /etc/httpd/conf/aaa bbbNew password: Re-type new password: Adding password for user bbb[root@localhost abc]# cat /etc/httpd/conf/aaaddd:$apr1$zwIklPGy$ZINaIkXsSq36oIk2lAiiJ1bbb:$apr1$q7OdS8z1$ELGg2a1AhHP.QfXJXfQTQ1
4、用户授权限制–添加用户授权配置
配置基本格式
<Directory "/var/www/html">AuthName "DocumentRoot" '//受保护的领域名称'AuthType Basic'//认证类型'AuthUserFile /etc/httpd/conf/qwe '//用户认证账号文件'Require valid-user '//要求通过认证才能访问'</Directory>[root@localhost abc]# vim vhost.conf ...省略内容<VirtualHost 192.168.197.100:80>DocumentRoot "/var/www/html/ccc"ServerName Errorlog "logs/.error_log"Customlog "logs/.custom_log" common<Directory "/var/www/html">AuthName "DocumentRoot"AuthType BasicAuthUserFile /etc/httpd/conf/aaaRequire valid-user</Directory></VirtualHost>...省略内容
5、验证
具体代码如下
<VirtualHost 192.168.110.132:80>DocumentRoot "/var/www/html/shang"ServerName Errorlog "logs/.error_log"Customlog "logs/.custom_log" common<Directory> "/var/www/html"><RequireAll>Require not ip 192.168.110.100Require all granted</RequireAll></Directory></VirtualHost># <VirtualHost 192.168.110.200:80># DocumentRoot "/var/www/html/zhen"# ServerName # Errorlog "logs/.error_log"# Customlog "logs/.custom_log" common# <Directory> "/var/www/html">#Require all granted# </Directory>#</VirtualHost><VirtualHost 192.168.110.200:80>DocumentRoot "/var/www/html/ccc"ServerName Errorlog "logs/.error_log"Customlog "logs/.custom_log" common<Directory "/var/www/html">AuthName "DocumentRoot"AuthType BasicAuthUserFile /etc/httpd/conf/aaaRequire valid-user</Directory></VirtualHost>