一文带你读懂 HTTPD 服务的访问控制!

本文详细介绍了HTTPD服务的访问控制,包括基于客户端地址、用户授权、域名虚拟主机、IP地址和端口的限制策略。通过示例配置,展示了如何实现IP限制、用户认证和授权,以及基于域名和端口的虚拟主机设置,以确保网站资源的安全访问。
摘要由CSDN通过智能技术生成

为了更好的控制对网站资源的访问,可以为特定网站目录添加访问授权,本篇文章将给大家介绍 HTTPD 服务的访问控制,主要针对:基于客户端地址限制、基于用户进行限制、基于域名的虚拟主机限制、基于 IP 地址、端口的虚拟主机限制。

一、基于客户端地址限制

Deny from 和 Allow from 配置项用于设置具体限制内容,使用 Deny from 和 Allow from 配置项时,需设置客户端地址等来进行限制策略,address1 / 2 可以是 IP 地址、网络地址、主机名和域名,通常情况下,网站服务器是对所有用户开放的,网页文档目录也未做任何限制,因此可使用“all”来表示拒绝或允许所有任意地址的访问等;

Deny from address1 address2 ...
Allow from address1 address2 ...

Order 配置项可以设置“allow,deny”或“deny,allow”来决定主机应用“允许”或“拒绝”策略的先后顺序。

  • “allow,deny”:先“允许”后“拒绝”默认拒绝所有未明确允许的客户端地址。
  • “deny,allow”:先“拒绝”后“允许”默认允许所有未明确拒绝的客户端地址。
<Directory "/usr/local/httpd/htdocs">
......                  # 省略部分内容
Order allow,deny
Allow from all
</Directory>

使用“仅允许”的限制策略时,将按处理顺序改为“allow,deny”,并明确设置允许策略,只允许一部分主机进行访问。若只希望 IP 地址为:192.168.3.123 的终端能够访问 AWStats 分析系统,则针对 AWStats 分析系统的目录区域配置以下部分;

<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from 192.168.3.123         # 允许 192.168.3.123 地址访问
</Directory>

使用“仅拒绝”的限制策略时,将按处理顺序改为“deny,allow”,并明确设置拒绝策略,只拒绝一部分主机进行访问。若只希望 192.168.3.0/24 该网段的终端能够访问 AWStats 分析系统,但允许其他任何终端访问,则针对 AWStats 分析系统的目录区域配置以下部分;

<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order deny,allow
deny from 192.168.3.0/24         # 拒绝 192.168.3.0/24 网站的地址访问
</Directory>

该上述配置好后,可通过浏览器访问将会显示如下报错页面。

图片

二、基于用户进行授权限制

基于用户的访问控制包含认证和授权。

认证:指用户身份的过程;

授权:指允许特定用户访问特定目录区域;

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

可使用工具:htpasswd,来创建授权用户数据文件,并进行维护其中的用户账号。必须指定用户数据文件的位置,结合参数“-c”选项来表示新建立此文件。

新建数据文件 /usr/local/httpd/conf/.awspwd ,webjacktian 和 webjacktian1 为用户信息。

# cd /usr/local/httpd/
# bin/htpasswd -c /usr/local/httpd/conf/.awspwd webjacktian
New password:                        # 设置密码
Re-type new password:
Adding password for user webjacktian
# cat /usr/local/httpd/conf/.awspwd
webjacktian:u5Mq.qjrDfsvA

若不使用“-c”选项,指定的用户数据文件已存在,用户添加新的用户或修改现有的用户密码。

# bin/htpasswd /usr/local/httpd/conf/.awspwd webjacktian1
New password:
Re-type new password:
Adding password for user webjacktian1
# cat /usr/local/httpd/conf/.awspwd             # 确认用户数据文件
webjacktian:1.wTyxw9/pItY
webjacktian1:zG4sQXO/HveOc

授权用户账号后,需修改 httpd.conf 配置文件,在特定的目录区域中添加授权配置,并启用基本认证设置允许哪些用户可进行访问。

vi /usr/local/httpd/conf/httpd.conf
......                             # 省略部分内容
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order deny,allow
deny from 192.168.3.124
AuthName "http web"                       # 定义受保护的领域名称,将在浏览器弹出的认证对话框中显示。
AuthType Basic                         # 设置认证的类型,Basic表示基本认证。
AuthUserFile /usr/local/httpd/conf/.awspwd           # 设置用于保存用户账号、密码的认证文件路径。
require valid-user                       # 只有认证文件中的合法用户才能访问,valid-user表示所有合法用户,若只授权单个用户,可改为指定的用户名。比如:webjacktian / webjacktian1
</Directory>
# /usr/local/httpd/bin/apachectl restart            # 重启服务将新配置进行生效。

验证用户授权访问 AW

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值