Apache访问控制和日志管理

一、Apache连接保持

HTTP 是属于应用层的面向对象协议,基于 TCP 协议之上的可靠传输。每次在进行
HTTP 连接之前,需要先进行 TCP 连接,在 HTTP 连接结束后要对 TCT 连接进行终止,每
个 TCP 连接都需要进行三次握手与四次断开。HTTP 协议不会对之前发生过的请求和响应
进行管理,所以建立与关闭连接对于 HTTP 而言会消耗更多的内存与 CPU 资源。能不能允
许通过同一个 TCP 连接发出多个请求,从而减少与多个连接相关的延迟,解决办法就是连
接保持。
对于 HTTP/1.1,就是尽量地保持客户端的连接,通过一个连接传送多个 HTTP 请求响
应,对于客户端可以提高 50%以上的响应时间,对于服务器可以降低资源开销。
Apache通过设置配置文件httpd-default.conf中相关的连接保持参数开启与控制连接保
持功能。

1、KeepAlive 决定是否打开连接保持功能,后面接 OFF 表示关闭,接 ON 表示打开,
可以根据网站的并发请求量决定是否打开,即在高并发时打开连接保持功能,并发量不高时
关闭此功能。

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

3、MaxKeepAliveRequests 用于设置在一次长连接中可以传输的最大请求数量,超过
此最大请求数量就会断开连接,最大值的设置决定于网站中网页的内容,一般设置数量会多
于网站中所有的元素

二、Apache的访问控制

2.1、客户机限制

通过 Require 配置项,可以根据客户端的主机名或 IP 地址来决定是否允许客户端访问。
在 httpd 服务的主配置文件的<Location>、<Directory>、<Files>、<Limit>配置段中均可以使用 Require 配置项来控制客户端的访问。使用 Require 配置项时,需要设置客户端地址以构成完整的限制策略,地址形式可以是 IP 地址、网络地址、主机名或域名。当 Require 配置项之后为“all”时,表示匹配任意地址。限制策略的格式如下所示:
1、Require all granted:允许所有主机访问;
2、Require all denied:拒绝所有主机访问;
3、 Require local:仅允许本地主机访问;
4、 Require [not] host <主机名或域名列表>:允许或拒绝指定主机或域名访问;
5、 Require [not] ip <IP 地址或网段列表>:允许或拒绝指定 IP 地址网络访问。

通常情况下,网站服务器是对所有客户机开放的,网页文档目录并未做任何限制,因此使用的是“Require all granted”的策略,表示允许从任何客户机访问,策略格式如下所示:

默认目录允许所有
<Directory "/usr/local/httpd/htdocs">
                   ######省略部分内容
Require all granted
</Directory>

定义限制策略时,多个不带“not”的 Require 配置语句之间是“或”的关系,即任意一条Require 配置语句满足条件均可访问。若既出现了不带“not”的 Require 配置语句,又出现了带“not”的 Require 配置语句,则配置语句之间是“与”的关系,即同时满足所有 Require 配置语句才能访问。
需要使用“仅允许”的限制策略时,应使用 Require 配置语句明确设置允许策略,只允许
一部分主机访问。例如,若只希望 IP 地址为 192.168.100.2 的主机能够访问,目录区域应做
如下设置:

<Directory "/usr/local/httpd/htdocs/bbs"> 
…… //省略部分内容
Require ip 192.168.100.2
</Directory>

反之,需要使用“仅拒绝”的限制策略时,灵活使用 Require 与 Require not 配置语句设置拒绝访问策略,仅禁止一部分主机访问。在使用 not 禁止访问时要将其置于<RequireAll></RequireAll>容器中,并在容器中设置相应的限制策略。例如,若只希望禁止来自两个内网网段 192.168.100.0/24 和 192.168.1.0/24 的主机访问,但允许其他任何主机访问,可以使用如下限制策略:

<Directory "/usr/local/httpd/htdocs/bbs">
 …… //省略部分内容
<RequireAll>
Require all granted
Require not ip 192.168.0.0/24 192.168.1.0/24
</RequireAll>
</Directory>

当未被授权的客户机访问网站目录时,将会被拒绝访问

2.2、用户授权限制

httpd 的基本认证通过校验用户名、密码组合来判断是否允许用户访问。授权访问的用户账号需要事先建立,并保存在固定的数据文件中。使用专门的 htpasswd 工具程序,可以创建授权用户数据文件,并维护其中的用户账号。
使用 htpasswd 工具时,必须指定用户数据文件的位置,添加“-c”选项表示新建立此文件。例如,执行以下操作可以新建数据文件/usr/local/httpd/conf/.awspwd,其中包含一个名为 webadmin 的用户信息

cd /usr/local/httpd/
bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin
New password:                                           ####根据提示设置密码
Re-type new password:                                   ####根据提示设置密码
Adding password for user webadmin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值