RHEL 5服务篇—使用Apache搭建web网站(二)客户端访问控制

简介:

     为了更好的控制对网站资源的访问,我可以为特定的网站目录添加访问授权。我们可以分别通过限制客户机的地址和用户访问权限两方面控制用户的访问。那么我们就分别讲解一下这两种控制方式,这两种控制方式都应用于httpd.conf配置文件中的目录区域<Directory 目录位置>......</Directory>范围内。


客户机地址限制

通过配置项order,Deny from,Allow from,根据客户机的主机名或IP地址来限制是否客户端访问。使用Order配置项时,可以设置为“allow,deny”或“deny,allow”,以决定主机应用“允许”,“拒绝”策略的先后顺序。

allow,deny:先允许后拒绝,默认拒绝所有未明确允许的客户机地址。

deny,allow:先拒绝后允许,默认允许所有未明确拒绝的客户机地址。

使用Allow和Deny配置项时,需要设置客户机地址以构成完整的限制策略,地址的形式可以是IP地址,网络地址,主机名,域名 ,使用名称“all”时表示任意地址。

如下设置网站的根目录为所有人可以访问。

[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf

.....//省略部分内容

<Directory "/usr/local/httpd/htdocs">

......//省略部分内容

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

Allow from all        //允许所有地址

</Directory>

.....//省略部分内容

我们也可以拒绝某一个IP地址或者是某一个网段,设置如下:

[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf

......//省略部分内容

<Directory ''/usr/local/httpd/htdocs">

......//省略部分内容

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

Deny from 192.168.1.1 192.168.3.0/24   //拒绝192.168.1.1和192.168.3.0网段

</Directory>

......//省略部分内容


用户授权限制

httpd服务器支持使用摘要认证和基本认证两种方式。使用摘要认证需要在编译httpd之前添加“--enable-auth-digest”选项,但并不是所有的浏览器都支持摘要认证;而基本认证是httpd服务的基本功能,不需要预先配置特别的选项,所以在此主要讲解基本认证方式。

基于用户的访问控制包含认证和授权两个过程,

认证:指识别用户的身份的过程。

授权:允许特定用户访问特定目录区域的过程。

1、创建用户认证数据文件

httpd的基本认证通过校验用户名,密码组合来判断是否允许用户访问。使用专门的htpasswd工具程序,可以创建授权用户数据文件,并维护其中的用户账户。

使用htpasswd工具时,必须制定用户数据文件的地址,添加“-c”选项表示新建此文件。

如下创建一个名为webadmin的用户

[root@localhost /]#/usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.awspwd webadmin

New password:   //提示输入密码

Re-type new password:    //提示再次输入密码

Adding password for user webadmin

若省略“-c”选项,则表示指定的用户数据文件已经存在,用于添加新的用户或修改现有的用户的密码。

注:使用htpasswd命令创建的用户文件和用户不是系统用户,而是专门供httpd服务客户端使用的。

2、添加用户授权配置

有了授权用户账户以后,还需要修改httpd.conf配置文件,在特定的目录区域中添加授权配置,以启用基本认证并设置允许那些用户访问。

列如:给网站的根目录设置只允许.awspwd文件中的用户访问,其余用户不能访问。

[root@localhost /]#vim /usr/local/httpd/conf/httpd.conf

......//省略部分内容

<Directory “/usr/local/httpd/htdocs”>

......//省略部分内容

AuthName "AWStats Directory"

AuthType Basic

AuthUserFile /usr/local/httpd/conf/.awspwd

require valid-user

</Directory>

......//省略部分内容

在上述配置内容中,相关配置项的含义如下:

AuthName:定义受保护的领域名称。

AuthType:设置认证的类型,Basic表示基本认证。

AuthUserFile:设置用于保存用户账户,密码的认证文件路径。

require:要求只有认证文件中的合法用户才能访问,valid-user表示所有合法用户,若授权给单个用户,可改为指定的用户名(如:webamdin)

3、验证用户访问授权

再次访问web站点时则提示需要输入用户名和密码,只有输入正确的用户名和密码才可以访问。

101542371.jpg



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1214349,如需转载请自行联系原作者

相关文章
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
744 3
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
1165 1
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
687 20
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
773 0
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
438 3
|
Linux PHP Apache
CentOS 7.2配置Apache服务httpd(下)
CentOS 7.2配置Apache服务httpd(下)
411 1
|
Web App开发 前端开发 JavaScript
Web前端项目的跨平台桌面客户端打包方案之——CEF框架
Chromium Embedded Framework (CEF) 是一个基于 Google Chromium 项目的开源 Web 浏览器控件,旨在为第三方应用提供嵌入式浏览器支持。CEF 隔离了底层 Chromium 和 Blink 的复杂性,提供了稳定的产品级 API。它支持 Windows、Linux 和 Mac 平台,不仅限于 C/C++ 接口,还支持多种语言。CEF 功能强大,性能优异,广泛应用于桌面端开发,如 QQ、微信、网易云音乐等。CEF 开源且采用 BSD 授权,商业友好,装机量已超 1 亿。此外,GitHub 项目 CefDetector 可帮助检测电脑中使用 CEF
5088 3
|
缓存 前端开发 Java
打造未来兼容的Web应用:Apache Wicket引领响应式设计的热潮
【9月更文挑战第4天】在软件开发领域,构建响应式Web应用至关重要。Apache Wicket作为一个强大的Java框架,支持响应式设计,确保应用在不同设备上均有出色体验。本文通过示例代码介绍使用Wicket的最佳实践,涵盖页面与组件模型、CSS媒体查询及自定义标记处理器的应用。同时,文章强调了优化加载时间、增强交互性和提升可访问性的重要性,帮助开发者打造高性能且美观的Web应用。
345 3
|
12月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
1701 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
821 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式

热门文章

最新文章

推荐镜像

更多