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,如需转载请自行联系原作者

相关文章
|
监控 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
721 20
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
817 0
|
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
5247 3
|
负载均衡 应用服务中间件 Apache
Nginx与Apache的终极对决:揭秘Web服务器界的“速度与激情”!你不可不知的性能霸主如何颠覆传统,震撼互联网的根基!
【8月更文挑战第13天】互联网技术发展中,Web服务器至关重要,Nginx与Apache是最广泛使用的两种。Apache历史悠久,但Nginx以轻量级和高性能脱颖而出。Nginx采用事件驱动架构,高效处理大量并发连接,而Apache使用进程驱动,高并发下资源消耗大。以餐厅为例,Nginx像大堂经理同时处理多个顾客需求,远比Apache为每位顾客分配服务员更高效。性能测试显示Nginx处理能力远超Apache。此外,Nginx配置简洁灵活,尤其在负载均衡方面表现突出。尽管Apache适合动态内容处理,但在快速变化的互联网环境中,Nginx因其独特优势成为许多开发者和企业的首选。
483 7
|
Java API Apache
从零到英雄的蜕变:如何用Apache Wicket打造你的第一个Web应用——不仅是教程,更是编程之旅的启航
【9月更文挑战第4天】学习Apache Wicket这一开源Java Web应用框架是一段激动人心的旅程。本文将指导你通过Maven搭建环境,并创建首个“Hello, World!”应用。从配置`pom.xml`到实现`HelloWorldApplication`类,再到`web.xml`的设置,一步步教你构建与部署简单网页。适合初学者快速上手,体验其简洁API与强大组件化设计的魅力。
700 1
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
1567 1
|
开发者 前端开发 Apache
Apache Wicket Ajax揭秘:轻松几步,让你的Web应用告别“呆板”,焕发新生!
【8月更文挑战第31天】随着互联网技术的发展,Web应用的交互性成为评价网站成功的关键指标。Apache Wicket作为一款卓越的Java Web框架,不仅具备强大的组件化开发能力,还内置了对Ajax技术的支持,使开发者能轻松提升Web应用的交互体验。通过简单的代码示例展示了如何在不刷新页面的情况下异步更新页面元素,极大提升了用户体验。Wicket提供了多种Ajax组件和行为,如AjaxFallbackLink、AjaxButton等,满足不同场景需求,并支持自定义Ajax行为,帮助开发者实现复杂交互效果。合理运用Wicket的Ajax功能,可显著增强网站竞争力。
495 1
|
JSON 前端开发 JavaScript
Web中的客户端和服务器端
Web中的客户端和服务器端
1252 1
|
消息中间件 监控 Kafka
Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面
随着大数据技术的发展,Apache Kafka 成为处理实时数据流的关键组件。Kafka Manager 提供了一个简洁的 Web 界面,方便管理和监控 Kafka 集群。本文详细介绍了 Kafka Manager 的部署步骤和基本使用方法,包括配置文件的修改、启动命令、API 示例代码等,帮助你快速上手并有效管理 Kafka 集群。
412 0
|
Java Spring Apache
Spring Boot邂逅Apache Wicket:一次意想不到的完美邂逅,竟让Web开发变得如此简单?
【8月更文挑战第31天】Apache Wicket与Spring Boot的集成提供了近乎无缝的开发体验。Wicket以其简洁的API和强大的组件化设计著称,而Spring Boot则以开箱即用的便捷性赢得开发者青睐。本文将指导你如何在Spring Boot项目中引入Wicket,通过简单的步骤完成集成配置。首先,创建一个新的Spring Boot项目并在`pom.xml`中添加Wicket相关依赖。
694 0

推荐镜像

更多