httpd服务的访问控制

客户机地址限制、用户授权限制,这两种访问控制方式都是应用于httpd.conf配置文件
·
#####################################客户机地址限制#################################
Require all granted:表示允许所有主机访问
Require all denied:表示拒绝所有主机访问
Require local:表示仅本地主机访问
Require 【not】 host <主机名或域名列表>:表示允许或拒绝指定主机或域名访问
Require 【not】 ip <ip地址或网段列表>:表示允许或拒绝指定ip地址或网段访问
·
#####允许或拒绝所有###### 通过#(注释)来选择需求
vi /etc/httpd.conf
<Directory "/usr/local/httpd/htdocs">
...../省略部分
Require all denied ###允许所有
#Require all granted ###拒绝所有
#Require ip 192.168.10.100 ####仅允许改ip访问
</Directory>
·
在使用not禁止访问时需要将其置于<RequireAll></RequireAll>容器中。
希望禁止来自两个网段192.168.1.0/24和192.168.2.0/24的主机访问,但是允许其他网段访问可以使用如下限制策略。
·
<Directory "/usr/local/httpd/htdocs">
......省略部分
<RequireAll>
Require all granted
Require not ip 192.168.1.0/24 192.168.2.0/24
</RequireAll>
</Directory>
·
当客户机访问被拒绝时一般会提示403错误
·
#####################################用户授权限制####################################
httpd服务器支持使用摘要认证(Digest)和基本认证(Basic)两种方式。使用摘要认证需要在编译httpd之前添加“--enable-auth-digest”选项,但并不是所有浏览器都支持摘要认证,而基本认证是httpd服务的基本功能,不需要预先配置特别的选项。
下面将以基本认证方式为例,对/usr/local/httpd/htdocs 网页目录下的网页内容添加用户授权限制。
·
####创建用户认证数据文件####
cd /usr/local/httpd
·
bin/htpasswd -c /usr/local/httpd/conf/.awspwd jack #####-c是新建立<.awspwd>文件夹 其中包含一个名为jack的用户信息
·
bin/htpasswd /usr/local/httpd/conf/.awspwd tom ####添加新用户tom
·
cat /usr/local/httpd/conf/.awspwd ######确认用户数据文件
tom:$apr1$/JCduW9g$v2vfjLDL1zDxyoVxZ3aS0/
jack:$apr1$SKEk1i92$6qMWb1NbjKfJq3nyC7.Wc0
·
###添加用户授权配置#######
有了授权用户账号后,还需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置,以启用基本认证并设置允许那些用户访问。
·
vi /usr/local/httpd/conf/httpd.conf
<Directory "/usr/local/httpd/htdocs">
......省略部分
AuthName " www.haha.com "
AuthType Basic ####基本认证
AuthUserFile /usr/local/httpd/conf/.awspwd #####账号、密码的认证文件路径
Require valid-user #####表示所有合法用户jack、tom 可指定单个用户(如jack)
</Directory>
·
友情提示:当用户访问授权与主机访问授权控制同时设置时,设置主机访问控制优先生效。

猜你喜欢

转载自blog.51cto.com/13348945/2156461