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

相关文章
|
8月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
879 116
|
12月前
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
688 35
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
982 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
网络协议 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-优雅草卓伊凡解决方案
1105 7
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
501 0
|
8月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
625 4
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。

热门文章

最新文章

推荐镜像

更多