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

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
2月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
152 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
2月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
121 7
|
1月前
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
|
5月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
110 3
|
5月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
70 1
|
5月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
WK
|
5月前
|
安全 Java 编译器
C++和Java哪个更适合开发web网站
在Web开发领域,C++和Java各具优势。C++以其高性能、低级控制和跨平台性著称,适用于需要高吞吐量和低延迟的场景,如实时交易系统和在线游戏服务器。Java则凭借其跨平台性、丰富的生态系统和强大的安全性,广泛应用于企业级Web开发,如企业管理系统和电子商务平台。选择时需根据项目需求和技术储备综合考虑。
WK
254 0
|
1月前
|
关系型数据库 MySQL 数据库
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
220 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
|
6月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
379 3
|
1月前
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。

热门文章

最新文章

推荐镜像

更多
下一篇
oss创建bucket