【Nginx <末>】Nginx 基于 IP 地址的访问限制

news2024/11/19 13:34:40

目录

👋前言

📫一、限制 IP 可以实现哪些功能

👀二、 项目实现

        2.1 访问控制实现

        2.2 Nginx 配置中指定 IP 地址

💞️三、章末


👋前言

        小伙伴们大家好,前面一段时间学习了 Nginx 的相关知识,也是在本地安装启动服务器之后,通过具体项目测试了反向代理和负载均衡的功能实现,接着来看另一个功能,通过 IP 地址限制访问,之前的文章链接如下:

【Nginx <一>⭐️】Nginx 的初步了解以及安装使用-CSDN博客

【Nginx <二>⭐️⭐️】Nginx 的反向代理使用-CSDN博客

【Nginx <三>⭐️⭐️⭐️】Nginx 负载均衡使用-CSDN博客

📫一、限制 IP 可以实现哪些功能

        通过在 Nginx 中限制部分 ip 可以实现服务器安全性,避免恶意访问等以下功能:

  1. 访问控制:限制特定 IP 地址或 IP 地址范围对服务器访问,增强系统安全性。

  2. 防止恶意攻击:通过禁止已知的恶意 IP 地址,可以减少如 DDoS 等攻击风险

  3. 地理位置限制:根据 IP 地址还可以限制特定地理区域的访问,例如限制只允许部分地区的用户访问。

  4. 内部网络访问:只允许内部网络的 IP 地址访问,确保服务仅对内部员工可用。

  5. 访问限制:根据需要设置白名单或黑名单,限制特定 IP 地址的访问。

  6. 流量控制:限制来自特定 IP 地址的请求频率,保护服务器资源不被耗尽。

👀二、 项目实现

        2.1 访问控制实现

        本地简单的模拟下,限制指定 Ip 访问

        环境准备:可启动的 Nginx 服务,简单的可运行项目,测试接口,这里使用的是前几篇测试的项目

        2.2 Nginx 配置中指定 IP 地址

        2.2.1 粗暴的限制所有 ip 均不能访问

        再次访问页面会出现 forbidden 提示,说明被限制访问,结果如下:

        

        2.2.2 限制只有本地可以访问

        这里通过配置 allow 只允许 127.0.0.1 访问

        注: allow 和 deny 字段的先后顺序不能乱,这里如果是先 deny 再 allow 则不起作用,限制全部 Ip,本地还是无法访问

        

        2.2.3 处理多个 ip 

        设置多个 Ip 访问也是通过 allow ,deny 属性配置,这里就不做演示了,配置大概如下:

// 设置白名单
location / {
 
  allow 192.168.1.66;
 
  allow 192.168.1.67;
 
  deny all;
  ...
 
}


// 设置黑名单

location / {
 
  deny 192.168.1.66;
 
  deny 192.168.1.67;
 
  allow all;
  ...
 
}

        2.2.4 处理 Ip 地址段

        根据客户端的IP地址是否在192.168.1.0/24网段内,允许是否访问

location / {
 
  allow 192.168.1.0/24;
 
  deny all;
  ...
 
}

💞️三、章末

        有关 Nginx 的自我学习就先到这篇文章了,因为时间关系以及工作中使用到的程度,后面有时间再学习更深层次的吧。

        文章到这里就结束了~ 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DAMA数据管理知识体系必背18张框图

近期对数据管理知识体系中比较重要的框图进行了梳理总结,总共有18张框图,供大家参考。主要涉及数据管理、数据治理阶段模式、数据安全需求、主数据管理关键步骤,主数据架构、DW架构、数据科学的7个阶段、数据仓库建设活动、信息收敛三角、大数据分析架构图、数据管理成熟度等…

Jenkins--从入门到入土

Jenkins–从入门到入土 文章目录 Jenkins--从入门到入土〇、概念提要--什么是CI/DI?1、CI(Continuous Integration,持续集成)2、DI(DevOps Integration,DevOps 集成)3、解决的问题 一、Jenkins安…

【深度学习】1.手动LogisticRegression模型的训练和预测

通过这个示例,可以了解逻辑回归模型的基本原理和训练过程,同时可以通过修改和优化代码来进一步探索机器学习模型的训练和调优方法。 步骤: 生成了一个模拟的二分类数据集:通过随机生成包含两个特征的数据data_x,并基于…

Android Compose 九:interactionSource 的使用

先上官方文档 InteractionSource InteractionSource represents a stream of Interactions corresponding to events emitted by a component. These Interactions can be used to change how components appear in different states, such as when a component is pressed or…

WordPress安装memcached提升网站速度

本教程使用环境为宝塔 第一步、服务器端安装memcached扩展 在网站使用的php上安装memcached扩展 第二步:在 WordPress 网站后台中,安装插件「Memcached Is Your Friend」 安装完成后启用该插件,在左侧工具-中点击Memcached 查看是否提示“U…

《拯救大学生课设不挂科第四期之蓝桥杯是什么?我是否要参加蓝桥杯?选择何种语言?如何科学备赛?方法思维教程》【官方笔记】

背景: 有些同学在大一或者大二可能会被老师建议参加蓝桥杯,本视频和文章主要是以一个过来人的身份来给与大家一些思路。 比如蓝桥杯是什么?我是否要参加蓝桥杯?参加蓝桥杯该选择何种语言?如何科学备赛?等…

webpack5生产模式

生产模式 生产模式准备 开发模式和生产模式有不同的 配置文件 2修改webpack.prod.js文件修改webpack.dev.js文件 修改webpack.dev.js文件 1》修改输出路径为undefined 2》将绝对路径进行修改,进行回退 此时文件的执行命令为 修改webpack.prod.js文件 1》修改绝…

跨平台之用VisualStudio开发APK嵌入OpenCV(三)

本篇将包含以下内容: 1.使用 Visual Studio 2019 开发一个 Android 的 App 2.导入前篇 C 编译好的 so 动态库 3.一些入门必须的其它设置 作为入门,我们直接使用真机进行调试,一方面运行速度远高于模拟器,另一方面模拟器使用的…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试资料

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试考前必练!安全生产模拟考试一点通每个月更新危险化学品经营单位安全管理人员考试资料题目及答案!多做几遍,其实通过危险化学品经营单位安全管理…

Zoho Campaigns邮件营销怎么发邮件?

Zoho Campaigns,作为业界领先的邮件营销平台,以其强大的功能、用户友好的界面以及深度的分析能力,为企业提供了一站式的邮件营销解决方案,助力企业高效地触达目标受众,构建并巩固庞大的客户基础。云衔科技为企业提供Zo…

电量计量芯片HLW8110的前端电路设计与误差分析校正.pdf 下载

电量计量芯片HLW8110的前端电路设计与误差分析校正.pdf 下载地址: 链接:https://pan.baidu.com/s/1vlCtC3LGFMzYpSUUDY-tEg 提取码:8110

用Prometheus全面监控MySQL服务:一篇文章搞定

简介 在现代应用中,MySQL数据库的性能和稳定性对业务至关重要。有效的监控可以帮助预防问题并优化性能。Prometheus作为一款强大的开源监控系统,结合Grafana的可视化能力,可以提供全面的MySQL监控方案。 设置Prometheus 安装Prometheus 使…

深度学习面试问题总结(21)| 模型优化

本文给大家带来的百面算法工程师是深度学习模型优化面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习面试问题,并提供参考的回答及其理论基础&a…

ic基础|时钟篇05:芯片中buffer到底是干嘛的?一文带你了解buffer的作用

大家好,我是数字小熊饼干,一个练习时长两年半的ic打工人。我在两年前通过自学跨行社招加入了IC行业。现在我打算将这两年的工作经验和当初面试时最常问的一些问题进行总结,并通过汇总成文章的形式进行输出,相信无论你是在职的还是…

leecode 637 二叉树的层平均值

leetcode 二叉树相关-层序遍历专题 二叉树的层序遍历一般来说,我们是利用队列来实现的,先把根节点入队,然后在出队后将其对应的子节点入队,然后往复此种操作。相比于二叉树的遍历递归,层序遍历比较简单,有…

2024年5月26日 (周日) 叶子游戏新闻

资深开发者:3A游戏当前处于一种尴尬的中间地带游戏行业整体,尤其是3A游戏正处于艰难时期。尽管2023年3A游戏佳作频出,广受好评,但居高不下的游戏开发成本(传闻《漫威蜘蛛侠2》的制作成本高达3亿美元)正严重…

WEB攻防【1】——ASP应用/HTTP.SYS/短文件/文件解析/Access注入/数据库泄漏

ASP:常见漏洞:本文所写这些 ASPX:未授权访问、报错爆路径、反编译 PHP:弱类型对比、mdb绕过、正则绕过(CTF考得多) JAVA:反序列化漏洞 Python:SSTI、字符串、序列化 Javascript&…

微服务下认证授权框架的探讨

前言 市面上关于认证授权的框架已经比较丰富了,大都是关于单体应用的认证授权,在分布式架构下,使用比较多的方案是--<应用网关>,网关里集中认证,将认证通过的请求再转发给代理的服务,这种中心化的方式并不适用于微服务,这里讨论另一种方案--<认证中心>,利用jwt去中…

elementui中 表格使用树形数据且固定一列时展开子集移入时背景色不全问题(父级和子级所展示的字段是不一样的时候)

原来的效果 修改后实现效果 解决- 需要修改elementui的依赖包中lib/element-ui.common.js中的源码 将js中此处代码改完下面的代码 watch: {// dont trigger getter of currentRow in getCellClass. see https://jsfiddle.net/oe2b4hqt/// update DOM manually. see https:/…

【单片机】STM32F070F6P6 开发指南(一)STM32建立HAL工程

文章目录 一、基础入门二、工程初步建立三、HSE 和 LSE 时钟源设置四、时钟系统&#xff08;时钟树&#xff09;配置五、GPIO 功能引脚配置六、配置 Debug 选项七、生成工程源码八、生成工程源码九、用户程序下载 一、基础入门 f0 pack下载&#xff1a; https://www.keil.arm…