Linux中Apache网站基于Http服务的访问限制(基于地址/用户)

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年6月3日11点44分

🀄️文章质量:95分


为了更好地控制对网站资源的访问,可以为特定的网站目录添加访问授权。本节将分别介绍客户机地址限制和用户授权限制,这两种访问方式都应用于httpd.conf 配置文件中的目录区域范围内。

🫸1.客户机地址限制

通过Require配置项,可以根据主机的主机名或IP地址来决定是否允许客户端访问,在httpd服务器的主配置文件的<Location>,<Directory>,<Fires>,<Limit>配置段中均可以试用Reuire配置项来控制客户端的访问。试用Require配置,需要设置客户端地址以构成完整的限制策略,地址的形式可以是用IP地址,网络地址,主机名或域名,使用名称all 时候表示任意地址。

限制策略的常用格式:

Require all granted        表示允许所有主机访问

Require all denied        表示拒绝所有主机访问

Require local                 表示仅允许本地主机访问

Require [not] host <主机名或域名列表>:        表示允许或拒绝指定主机或域访问

Require [not] ip<ip地址或网段列表>:        表示允许或拒绝指定IP地址或网段访问

默认情况下httpd的访问全是是对所有客户机全开的

编辑主配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 

➡️允许访问限制

限制

基于IP地址限制,只允许192.168.93.112 主机访问

重启服务

该指令将限制对当前上下文(例如整个服务器或特定网站)的访问,仅允许来自指定 IP 地址的请求。

Apache 重新启动后,对 Web 服务器的访问将被限制为仅允许来自 IP 地址 192.168.93.112 的请求。来自任何其他 IP 地址的请求都将被拒绝。

测试

192.168.93.112

192.168.93.113

访问出现403的情况

⬅️禁止IP访问

禁止192.168.93.112 访问 其余所有都可以访问

限制

编辑配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 

systemctl restart httpd
重启Httpd服务
  • Require all granted :该行默认允许任何IP地址访问。
  • Require not ip 192.168.93.112 :此行专门拒绝对 IP 地址 192.168.93.112 的访问。
测试

192.168.93.112 无法访问因为我们 设置了拒绝的流量

报错403无法访问

192.168.93.113访问是可以的 因为我们没有拒绝它访问httpd

🫷2.用户授权限制

Apache HTTP Server (httpd) 中的用户授权限制涉及控制谁可以访问 Web 服务器上的特定资源。这对于维护安全性并确保只有授权用户才能访问敏感数据或功能至关重要。

🕉️创建用户密码

htpasswd -c /etc/httpd/conf/.awspwd smqnz

将在 /etc/httpd/conf/ 目录中创建一个名为 .awspwd (隐藏文件)的新密码文件,并使用哈希密码添加名为 smqnz 的用户。 以下是该命令的详细说明:

  • htpasswd :这是一个实用程序,用于管理 Apache HTTP 身份验证的密码文件。
  • -c :此选项告诉 htpasswd 创建一个新的密码文件(如果它不存在)。
  • /etc/httpd/conf/.awspwd :指定新密码文件的路径和文件名。请注意,文件名以点 (.) 开头,使其成为目录中的隐藏文件。
  • smqnz :这是密码文件中新条目的用户名。
  • 需要注意的是 如果你在创建用户的时候 不需要-c 选项

编辑配置文件

[root@localhost ~]# vim /etc/httpd/conf/httpd.conf AuthName "smqnz"AUthType BasicAuthUserFile /etc/httpd/conf/.awspwdRequire valid-user
  • AuthName "smqnz": 设置认证提示的名称。当用户尝试访问受保护的资源时,浏览器会显示这个名称,提示用户输入用户名和密码。

  • AuthType Basic: 指定基本认证方式。基本认证要求用户提供用户名和密码进行访问。

  • AuthUserFile /etc/httpd/conf/.awspwd: 指定存储用户名和密码的文件路径。这个文件需要使用 htpasswd 工具来创建和管理。

  • Require valid-user: 允许所有在 AuthUserFile 中存在的有效用户访问受保护的资源。

配置完成之后重启httpd服务

🔂访问测试

这次访问的时候需要输入账户和密码才能进行访问

用户就是我们刚刚创建的用户和密码

字符界面访问的时候

显示需要你进行身份验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/341962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用 Axios 封装一个双 token 无感刷新

为什么要用双Token无感刷新&#xff0c;它解决了什么问题&#xff1f; 为了保证安全性&#xff0c;后端设置的Token不可能长期有效&#xff0c;过了一段时间Token就会失效。而发送网络请求的过程又是需要携带Token的&#xff0c;一旦Token失效&#xff0c;用户就要重新登陆&…

python书上的动物是啥

Python的创始人为Guido van Rossum。1989年圣诞节期间&#xff0c;在阿姆斯特丹&#xff0c;Guido为了打发圣诞节的无趣&#xff0c;决心开发一个新的脚本解释程序&#xff0c;做为ABC语言的一种继承。之所以选中Python作为程序的名字&#xff0c;是因为他是一个叫Monty Python…

C# 判断字符串不等于空的示例

在C#中&#xff0c;要判断一个字符串是否不等于空&#xff08;即它既不是null也不是空字符串""&#xff09;&#xff0c;方法有如下几种&#xff0c;如下。 方法1 使用逻辑运算符和string.IsNullOrEmpty方法 string myString "123"; // 假设要检查的字…

重邮803计网概述

目录 一.计算机网络向用户提供的最重要的功能 二.互联网概述 1.网络的网络 2.计算机网络的概念 3. 互联网发展的三个阶段 4.制订互联网的正式标准要经过以下的四个阶段 5.互联网的组成&#xff08;功能&#xff09; 6.互联网功能 7.互联网的组成&#xff08;物理&#…

java自学阶段二:JavaWeb开发50(Spring和Springboot学习)

Spring、Springboot基础知识学习 目录 学习目标Spring基础概念IOC控制反转DI依赖注入事务管理AOP面向切面编程Spring案例说明&#xff08;Postman使用、Restful开发规范、lombok、Restful、nginx了解&#xff09; 一&#xff1a;学习目标&#xff1a; 1&#xff09;了解Sprin…

将小爱音箱接入 ChatGPT 和豆包ai改造成专属语音助手

这个GitHub项目&#xff0c;mi-gpt&#xff0c;旨在将小爱音箱和米家设备与ChatGPT和豆包集成&#xff0c;有效地将这些设备转变为个性化语音助手。以下是对其功能和设置的详细分析&#xff1a; 主要特点 角色扮演&#xff1a;该项目允许小爱适应不同的角色&#xff0c;如伴侣…

HCIA-WLAN实验-二层旁挂组网

目录 前言&#xff1a;拓扑说明创建新拓扑配置网络互通SW1上配置VLAN10 20 30SW1上放行对应的VLANSW2上创建vlan 10 20并在对应接口放行VLAN在AC上创建vlan10并放行对应接口在SW1上创建vlanif20和vlanif30&#xff0c;并配置对应的IP在AC上创建vlanif10并配置IP在路由器AR上配置…

形如SyntaxError: EOL while scanning string literal,以红色波浪线形式在Pycharm下出现

背景&#xff1a; 新手在学习Python时可能会出现如下图所示的报错 下面分情况教大家如何解决 视频教程【推荐】&#xff1a; 形如SyntaxError: EOL while scanning string literal&#xff0c;以红色波浪线形式在Pycharm下出现 过程&#xff1a; 问题概述&#xff1a; 简单…

[数据集][目标检测]道路圆石墩检测数据集VOC+YOLO格式461张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;462 标注数量(xml文件个数)&#xff1a;462 标注数量(txt文件个数)&#xff1a;462 标注类别…

基于阿里云服务网格流量泳道的全链路流量管理(三):无侵入式的宽松模式泳道

作者&#xff1a;尹航 在前文《基于阿里云服务网格流量泳道的全链路流量管理&#xff08;一&#xff09;&#xff1a;严格模式流量泳道》、《基于阿里云服务网格流量泳道的全链路流量管理&#xff08;二&#xff09;&#xff1a;宽松模式流量泳道》中&#xff0c;我们介绍了流…

wpf工程中加入Hardcodet.NotifyIcon.Wpf生成托盘

1、在项目中用nuget引入Hardcodet.NotifyIcon.Wpf。如下图所示。 2、在App.xaml中创建托盘界面&#xff0c;代码是写在 App.xaml 里面 注意在application中一定要加入这一行代码&#xff1a; xmlns:tb"http://www.hardcodet.net/taskbar" 然后在<Application.R…

【免费Web系列】JavaWeb实战项目案例七(项目结束)

这是Web第一天的课程大家可以传送过去学习 http://t.csdnimg.cn/K547r 登录认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登录&#xff0c;就直接访问到了Tlias智能学习辅助系统的后台。 这…

韩国Neowine推出第三代强加密芯片ALPU-CV

推出第三代加密芯片&#xff1b;是ALPU系列中的高端IC&#xff1b;是一款高性能车规级加密芯片&#xff1b;其加密性更强、低耗电、体积小&#xff1b;使得防复制、防抄袭板子的加密性能大大提升&#xff0c;该芯片通过《AEC-Q100》认证&#xff0c;目前已经在国产前装车辆配件…

亚马逊测评自养号需要什么资源?

亚马逊测评自养号项目需要用到哪些资源呢&#xff1f; 1. 养号系统及软件 2. 代理IP资源 3. 收货地址及注册资料 4. 国外信用卡及礼品卡 5. 邮箱及手机号想做好这个项目以上的资源缺一不可 首先我们来说说养号的环境&#xff0c;养号的环境在以前的文章里也提到过&#x…

基于python的网上挂号预约系统-计算机毕业设计源码89352

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;医院当然也不例外。网上挂号预约系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;采用Py…

软件三班20240605

文章目录 1.创建工程和模块2.添加 web支持3.创建前端代码4.添加servlet 依赖5. 代码6.案例2 1.创建工程和模块 2.添加 web支持 方法1 方法2 3.创建前端代码 4.添加servlet 依赖 5. 代码 <!DOCTYPE html> <html lang"en"> <head><meta c…

【面试干货】SQL中count(*)、count(1)和count(column)的区别与用法

【面试干货】SQL中count&#xff08;*&#xff09;、count&#xff08;1&#xff09;和count&#xff08;column&#xff09;的区别与用法 1、count(*)2、count(1)3、count(column) &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在SQL中&a…

InnoDB存储引擎非常重要的一个机制--MVCC(多版本并发控制)

Mysql是如何实现隔离性的&#xff1f;&#xff08;锁MVCC&#xff09; 隔离性是指一个事务内部的操作以及操作的数据对正在进行的其他事务是隔离的&#xff0c;并发执行的各个事务之间不能相互干扰。隔离性可以防止多个事务并发执行时&#xff0c;可能存在交叉执行导致数据的不…

opencv进阶 ——(十一)基于RMBG实现生活照生成寸照

实现步骤 1、检测人脸&#xff0c;可以使用opencv自带的级联分类器或者dlib实现人脸检测 2、放大人脸范围&#xff0c;调整到正常寸照尺寸 3、基于RMGB算法得到人像掩码 4、生成尺寸相同的纯色背景与当前人像进行ALPHA融合即可 alpha融合实现 void alphaBlend(cv::Mat&…

c++(内存分配,构造,析构)

#include <iostream>using namespace std; class Per { private:string name;int age;double *height;double *weigh; public://无参构造Per(){cout << "Per::无参构造" << endl;}//有参构造Per(string name,int age,double height,double weigh):…