Linux系统架构----nginx的访问控制

nginx的访问控制

一、nginx基于授权的访问控制概述

  • Nginx与Apache一样,可以实现基于用户权限的访问控制,当客户端想要访问相应的网站或者目录时,要求用户输入用户名和密码,才能正常访问
  • 配置步骤生成用户密码认证文件 ;修改主配置文件相对应的目录,添加认证配置项;重启服务,访问测试

二、nginx基于授权的访问控制操作

  • 使用htpasswd生成用户认证文件
#安装htpasswd工具
yum install httpd-tools -y
#创建用户
[root@nginx-server ~]# htpasswd -c /etc/nginx/passwd.db user1 123456
New password: 
Re-type new password: 
Adding password for user user1
#修改密码权限文件
[root@nginx-server ~]# chmod 400 /etc/nginx/passwd.db
#修改所有者为
[root@nginx-server ~]# chown nginx /etc/nginx/passwd.db
#查看密码文件
[root@nginx-server ~]# cat /etc/nginx/passwd.db
user1:$apr1$B1bp6OZb$8axvatyNXnPpmoA8.KQc50
  • 修改主配值文件,添加相应的认证配置项
  [root@nginx-server ~]# vim /etc/nginx/nginx.conf
  location / {
            auth_basic "login password";
            auth_basic_user_file /etc/nginx/passwd.db;
        }
  • 重启服务
[root@nginx-server ~]# systemctl restart nginx
  • 验证基于授权的访问控制

在这里插入图片描述

  • 验证成功

在这里插入图片描述

三、nginx基于客户端的访问控制概述

  • 基于客户端的访问控制是通过客户端的IP地址,决定是否允许对页面访问
  • Nginx基于客户端的访问控制要比Apache简单

规则

deny IP/IP段:拒绝某个IP或者网段的客户端访问
allowIP/IP段:允许某个IP或者网段的客户端访问
规则从上往下执行,如匹配则停止,不再往下匹配

四、nginx基于客户端的访问控制的实际操作

  • 修改主配置文件

    [root@nginx-server ~]# vim /etc/nginx/nginx.conf
    location / {
    auth_basic “login password”;
    auth_basic_user_file /etc/nginx/passwd.db;
    deny all;
    #allow all;
    }

  • 重启服务

[root@nginx-server ~]# systemctl restart nginx
  • 测试

在这里插入图片描述

  • 禁止单个IP地址访问和测试
 [root@nginx-server ~]# vim /etc/nginx/nginx.conf
 location / {
            auth_basic "login password";
            auth_basic_user_file /etc/nginx/passwd.db;
            deny 10.1.1.172;
            #allow all;
        }
[root@nginx-server ~]# systemctl restart nginx.service 
##验证能不能访问成功
[root@nginx-server ~]# curl 10.1.1.172 -I
HTTP/1.1 403 Forbidden
Server: nginx/1.14.1
Date: Fri, 08 Mar 2024 08:20:25 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

48. 【Linux教程】yum 软件包管理

本小节介绍如何在 Linux 系统中使用 yum 命令软件管理。 1.yum 简介 yum 是 Red Hat 软件包管理器,它能够查询有关可用软件包的信息,从存储库获取软件包,安装和卸载软件包,以及将整个系统更新到最新的可用版本。yum 在更新&#…

sql注入基础学习

1.常用SQL语句 01、显示数据库 show databases; 02、打开数据库 use db name; 03、显示数据表 show tables; 04、显示表结构 describe table_name; 05、显示表中各字段信息,即表结构 show columns from table_nam…

c++初阶------类和对象(下)

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

河北政采网2024年的入驻要求?

河北政采网2024年的入驻要求主要包括以下几个方面: 经营范围与资质:申请者需具有合法经营的营业执照,可以是一般纳税人、小规模纳税人或个体工商户。同时,申请者需要具备自主电商平台,该平台应为面向社会消费的专业销…

Linux学习(3)——使用Linux命令行

1.Shell是什么? shell本质上是Linux的应用程序,是Linux和用户进行沟通的桥梁 用户可以通过控制台终端输入各种命令,命令会被shell解析,解析后就会调用命令所对应的应用程序,应用程序又会去调用各种API接口以使用Linux内…

锐捷 EWEB auth 远程命令执行漏洞复现

一、漏洞信息 漏洞名称:锐捷 EWEB auth 远程命令执行漏洞 漏洞类别:远程代码执行 风险等级:高危 二、漏洞描述 锐捷睿易是锐捷网络针对商业市场的子品牌。拥有易网络、交换机、路由器、无线、安全、云服务六大产品线,解决方案涵盖商贸零售、酒店、KTV、网吧、监控安防…

【嵌入式——QT】文件系统和文件读写

【嵌入式——QT】文件系统和文件读写 文本文件读写二进制文件读写文件目录操作QCoreApplicationQFileQFileInfoQDirQTemporaryDir和QTemporaryFileQFileSystemWatcher 图示代码示例 文本文件读写 QT提供了两种读写纯文本文件的基本方法,一种是用QFile类的IODevice读…

java SSM科研管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM科研管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S…

VS Code搭建windows+远程Linux上Docker的开发环境

在本地windows桌面系统远程Linux上Docker搭建开发环境主要步骤如下: 一、安装vs code和插件 在windows系统上安装vs code,并安装好remote-ssh、dev-container插件,也可以直接安装Remote Development,他会默认把vs code远程的几种…

网络请求与数据解析

urllib是Python自带的标准库中用于网络请求的库 ,无需安装,直接引用即可。通常用于爬虫开发、API(应用程序编程接口)数据获取和测试。 urllib库的几个模块: urllib.request :用于打开和读取URLurllib.error:包含提出…

大模型相关算法模型学习

对Transformer中Add&Norm层的理解-CSDN博客 GPT模型总结【模型结构及计算过程_详细说明】_gpt结构-CSDN博客 推荐30个以上比较好的中文nlp意图识别模型源码?-CSDN博客 Few-shot learning(少样本学习)入门 - 知乎 (zhihu.com) 零次学习…

程序人生 - 爬虫者,教育也!

作为一个站长,你是不是对爬虫不胜其烦?爬虫天天来爬,速度又快,频率又高,服务器的大量资源被白白浪费。 看这篇文章的你有福了,我们今天一起来报复一下爬虫,直接把爬虫的服务器给干死机。 本文有…

Linux常见指令总结

ls:显示当前目录下文件列表 常用的命令行参数: -l 显示更多的文件属性 -a 显示所有的文件/目录(包括隐藏的) -d 只显示目录 ps:参数可以叠加使用。 例如:ls -la 显示所有文件…

基于 Jenkins 搭建一套 CI/CD 系统

一、CI/CD环境介绍 本次要实现如下效果,开发人员完成功能开发并提交代码到gitlab仓库,jenkins自动完成拉取代码、编译构建、代码扫描(sonarqube)、打包,再自动化完成部署到Tomcat服务器提供访问。 环境准备三台Centos…

初窥机器学习

人工智能 近几年来,人工智能(AI)已成为家喻户晓的术语,我们在游戏、电影(还记得J.A.R.V.I.S吗?)和书籍中经常看到它的提及和描绘,但人工智能究竟是什么呢? 人工智能简单…

远程同声传译如何实现?哪里提供专业的远程同声传译?

远程同传声传译,即线上同传翻译,是指翻译员通过非现场的网络方式进行的同声传译(实时翻译)。远程同声传译的实现依赖于一系列先进的技术手段和高效的协作流程。这一服务模式的出现,不仅打破了传统同声传译的地域限制,还为全球范围…

2024上半年软考初级《程序员》报名考试全流程梳理

​2024年软考程序员考试报名时间节点: 报名时间:上半年3月18日到4月15日,下半年8月19日到9月15日(各地区报名时间不同,具体日期见官方通告) 准考证打印时间:上半年5月20日起,下半年…

HarmonyOS NEXT应用开发之使用AKI轻松实现跨语言调用

介绍 针对JS与C/C跨语言访问场景,NAPI使用比较繁琐。而AKI提供了极简语法糖使用方式,一行代码完成JS与C/C的无障碍跨语言互调,使用方便。本示例将介绍使用AKI编写C跨线程调用JS函数场景。通过调用C全局函数,创建子线程来调用JS函…

项目实战-tpshop商城项目

项目实战-tpshop商城项目 环境部署准备软件工具准备远程连接测试远程连接测试-查看虚拟机IP地址远程连接测试-检测本机与虚拟机是否连通远程连接测试-通过远程工具连接linux服务器 常见问题处理 环境部署项目技术架构介绍部署tpshop项目-tpshop验证数据库验证用户信息表熟悉商品…

【国产】API接口管理平台的产品设计与搭建讲解

【国产接口管理平台】PhalApi Pro (π框架专业版) PhalApi Pro (发音:π框架专业版),是一款国产企业级API接口管理平台,可以零代码、快速搭建API接口开发平台、接口开放平台、接口管理平台。基于PhalApi开源接口开发框架,通过低代…