首页 > 代码库 > Linux -- Apache 的访问及控制

Linux -- Apache 的访问及控制

 一,Apache保持连接

http协议是基于tcp协议之上的,在进行http连接之前,要先进行tcp连接,在连接结束后,要对tcp连接进行终止,建立与连接对于http而言会消耗更多的系统资源(cpu,内存)。

尽量的保持客户端的连接,通过一个连接传送多个请求响应,对与客户端来说可以提高50%以上的响应时间,对于服务器来说可以降低资源的开销。

开启额外的配置文件 /usr/local/httpd/conf/extra/httpd-default.conf

KeepAlive On 开启保持连接功能

MaxKeepAliveRequests 100 一次连接最大的请求数量

KeepAliveTimeout 5 一次连接多次请求的超时时间

Apache的访问控制

控制对网站资源的访问,为特定网站目录加访问的授权

Order 配置项用与设置限制顺序

Deny fromAllowfrom设置具体限制内容

Order配置项的控制判断顺序

首先判断默认的,然后判断逗号前的,最后判断逗号后的,按顺序叠加得出判断。

用户的授权限制

对网页目录进行认证配置,用户输入用户名和密码才能访问网页,支持摘要认证和基本认证。

基于用户的访问控制包含认证和授权两个过程,认证指识别用户身份过程,授权指允许特定用户访问特定目录区域的过程

httpd的基本认证通过校验用户名,密码组合来判断是否允许用户访问,授权访问的用户需要建立,并保存在固定的数据文件中。

使用专门的htpasswd工具,创建授权用户数据文件,维护其中的用户帐号。

修改虚拟主机配置文件,/usr/local/httpd/conf/extra/httpd-vhosts.conf

AuthName “abcabc”  认证显示名

AuthType Basic  认证类型

AuthUserFile /usr/local/httpd/conf/.abc      认证的密码文件

 

 

对于企业内部的WEB管理平台,例如日志分析系统(Awstats)为了更好实现访问控制,在通过客户端访时,提交一些用户密码或对客户IP地址进行授权,避免服务器的安全隐患。

 

  1. 常见的访问控制方式:应用于配置文件中的目录区域

<Directory>......</Directory>

一、Apache 的访问控制

对于企业内部的WEB管理平台,例如日志分析系统(Awstats)为了更好实现访问控制,在通过客户端访时,提交一些用户密码或对客户IP地址进行授权,避免服务器的安全隐患。

httpd 服务的访问控制:控制对网站资源的访问

                     为特定的网站资源目录添加访问授权

常用的访问控制方式:1、客户机地址限制

                    2、用户授权限制

1、客户机地址限制

Order   用来定义访问控制顺序

Allow from  地址    #允许某些地址访问

Deny  from  地址    #拒绝某些地址访问

地址类型:IP地址 网络地址 主机名 域名 all(表示所有)  多个地址之间使用空格分割                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  格式1

Order deny,allow   #先拒绝,后允许

 Deny from all #拒绝所有

格式2

Order allow,deny   #先允许,后拒绝

Allow from all #允许所有

2、创建用户认证数据库文件

/usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.a a

New password:               //根据提示填写密码

Re-type new password:       //根据提示填写密码

Adding password for user a

 

.a 认证的用户数据文件(是隐藏文件)

a   创建的用户

查看认证文件

 

注意:只有在第一次创建文件时使用 -c  后期 添加用户时不能使用,否则前期创建的用户将会消失。在文件中再次添加新用户。命令如下

/usr/local/httpd/bin/htpasswd /usr/local/httpd/conf/.a ts111

 

新用户已经添加完成

2)编辑httpd主配置文件

 

113行加入以下内容

144         AuthName "http web"

145         AuthType Basic

146         AuthUserFile /usr/local/httpd/conf/.a

    147         require valid-user

 

在次访问网页。输入用户名和密码即可访问

 

 

二、Apache 日志管理

日志切割

vim /usr/local/httpd/conf/extra/httpd-vhosts.conf

 

NameVirtualHost 192.168.3.10 #修改为主机的IP

加入以下内容

<Directory "/kingctl">

        Order allow,deny

        Allow from all

</Directory>

<VirtualHost 192.168.3.10>

    DocumentRoot /kingctl/

    ServerName www.kingctl.com

    ErrorLog "|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/www.kingctl.com.error_%Y%m%d.log 86400"

    CustomLog "|/usr/local/httpd/bin/rotatelogs -l /usr/local/httpd/logs/www.kingctl.com.access_%Y%m%d.log 86400" common

</VirtualHost>

 

验证

cd /usr/local/httpd/logs/

[root@CentOS6-node1 logs]# ls

access_log  error_log  httpd.pid  www.kingctl.com.access_20161231  www.kingctl.com.error_20161231.log

日志切割成功

 

Linux -- Apache 的访问及控制