Nginx 限制只能白名单 uri 请求的配置

实际生产项目中,大多数时候我们会将后端的 http 接口通过前置 nginx 进行反向代理,对互联网用户提供服务。往往我们后端服务所能提供的接口服务是大于互联网用户侧的实际请求的接口地址数量的(例如后端服务一共有100个api接口,经过前置 nginx 对外提供的接口是给微信小程序使用的,而微信小程序中需要调用的实际接口只有40个)。鉴于此,从系统安全架构角度来讲,我们必须应该在前置的 Nginx 中,白名单限定对外提供服务的具体 http 接口 URI 地址。

本文以具体配置示例的方式,演示在 Nginx 中如何实现白名单 Uri 的拦截配置。

1、配置白名单 URI 配置文件

我们为了更好的管理白名单地址,所以讲配置白名单的配置文件独立出来,然后使用 nginx 的 include 导入。

我的配置文件 ./nginx/conf.d/map_whitelist_uri.conf 内容如下:

map $uri $allowed_uri {default 0;# 精确匹配(推荐尽可能使用精确匹配,这样利于管理)/api/v1/cs/configs 1;/exact/path1 1;/exact/path2 1;# 正则表达式匹配~^/demo/.+\.(css|js|ttf|woff|woff2|svg|git|jpg|jpeg|png)$ 1;~/regex/path/[0-9]+ 1;~/another/regex.* 1;# 更多的路径...
}

主配置文件 ./nginx/nginx.conf 中使用 include 导入扩展的配置文件,可以通配符导入,也可以精确导入。

http {// 省略其他配置// 导入conf.d中的所有配置,你可以导入具体的配置文件include ./conf.d/*.conf;
}

2、使用白名单map配置

server 块的 location 块中配置条件拦截。

server {// 省略其他配置location / {// 不在白名单URI中的,直接响应403结束if ($allowed_uri = 0) {return 403;}}// 省略其他配置
}

(END)

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

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

相关文章

VRRP的知识点总结及实验

1、VRRP VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)既能够实现网关的备份,又能解决多个网关之间互相冲突的问题,从而提高网络可靠性。 2、VRRP技术概述: 通过把几台路由设备联合组成一台虚拟的“路由设备”…

数智读书笔记系列002 埃隆·马斯克传

书名:埃隆马斯克传 作者:【美】沃尔特艾萨克森 译者:孙思远;刘家琦 出版社:中信出版集团 出版时间:2023年9月 ISBN:9787521758399 这本书是关于特斯拉CEO埃隆马斯克的传记,作者…

2024年12月13日Github流行趋势

项目名称:nexus-xyz / nexus-zkvm 项目维护者:govereau slumber danielmarinq sjudson yoichi-nexus项目介绍:Nexus zkVM 是一个零知识虚拟机。项目star数:1,948项目fork数:343 项目名称:soxoj / maigret …

016 在路由器上配置 DHCP

配置路由器端口IP地址 将路由器的端口地址配置好, 左边的网络地址是 192.168.1.0 右边的网络地址是 192.168.2.0 配置路由器的DHCP服务 打开命令窗口,进入特权模式 进入全局配置 conf t创建一个DHCP地址池; po1 是地址池的名称&#xf…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件,并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

常见软件漏洞修复

1. 3306 MYSQL 升级到最新版,下载地址为 MySQL :: Download MySQL Installer,这里注意,不要跨大版本升级,只升级小版本号,例如mysql5.7.22只需要升级到最新的5.7.44。注意只使用长期维护的稳定版本。设置mysql允许连接…

【C++算法】42.模拟_数青蛙

文章目录 题目链接:题目描述:解法C 算法代码: 题目链接: 1419. 数青蛙 题目描述: 解法 模拟: 利用一个指针,从前往后遍历,遍历到r就看前面有没有c,遍历到o就看前面有没有…

Windows系统VSCode 搭建ESP-IDF环境

VS Code,安装ESP-IDF插件 快捷键CTRLSHIFTP,弹出显示所有命令的窗口,选择ESP-IDF的欢迎 使用第一个选项,要选择一个ESP-IDF版本,选最新的就行 点击Install,等待下载 提示安装成功,如果过程中出现python已存…

Verilog实现图像处理的行缓存Line Buffer

在图像处理中,难免会遇到对图像进行卷积或者模板的局部处理,例如ISP中的一些算法,很大部分都需要一个窗口,在实时视频处理中,可以利用行缓存Line buffer可以暂存几行数据,然后同时输出每行中的对应列的像素…

《庐山派从入门到...》开发板启动

《庐山派从入门到...》开发板启动 什么是固件安装固件 《庐山派从入门到...》开发板启动 什么是固件 **固件可以说是硬件设备的“神经系统”,**它包含了启动序列、设备管理系统和稳定性控制等功能,确保了硬件设备能够安全启动并维持稳定运行。 安装固件…

【PostgreSQL异常解决】PostgreSQL 异常错误: PG::Error 服务意外关闭连接

博主介绍:✌全网粉丝21W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…

CSS学习记录12

CSS浮动 CSSfloat属性规定元素如何浮动 CSSclear属性规定哪些元素可以在清除的元素旁边以及在哪一侧浮动。 float属性 float属性用于定位和格式化内容,例如让图像向左浮动到容器的文本那里。 float属性可以设置以下值之一: left - 元素浮动到其容器…

从 CephFS 到 JuiceFS:同程旅游亿级文件存储平台构建之路

随着公司业务的快速发展,同程旅行的非结构化的数据突破 10 亿,在 2022 年,同程首先完成了对象存储服务的建设。当时,分布式文件系统方面,同程使用的是 CephFS,随着数据量的持续增长,CephFS 的高…

Ariba Procurement: Administration_Master data

采购主数据集成Procurement Master Data Integration 注意:并非所有元素都是必需的,数据元素的名称可能根据ERP的不同,有所不同。 Types of Master Data Accounting 在SAP Ariba中的各种会计元素字段中,填充有效值选择列表。建…

Hadoop一课一得

Hadoop作为大数据时代的奠基技术之一,自问世以来就深刻改变了海量数据存储与处理的方式。本文将带您深入了解Hadoop,从其起源、核心架构、关键组件,到典型应用场景,并结合代码示例和图示,帮助您更好地掌握Hadoop的实战…

#思科模拟器通过服务配置保障无线网络安全Radius

演示拓扑图: 搭建拓扑时要注意: 只能连接它的Ethernet接口,不然会不通 MAC地址绑定 要求 :通过配置MAC地址过滤禁止非内部员工连接WiFi 打开无线路由器GUI界面,点开下图页面,配置路由器无线网络MAC地址过…

定时器里使用QTextEdit在界面上刷新数据,过一会就停止刷新

问题 使用QTextEdit在界面上刷新数据过一会(不到1分钟)就自动停止,但是当鼠标在QTextEdit内移动后,又开始刷新。 原因 暂未查明。 解决办法 在定时器函数里增加下面一行代码,问题解决。

国产自主可控新征程:华为原生鸿蒙系统与鲲鹏认证

华为于今年10月22日在深圳正式发布了其原生鸿蒙系统HarmonyOS NEXT。这是我国首个实现全栈自研的操作系统,标志着中国在操作系统领域取得了突破性进展。HarmonyOS NEXT 5.0的发布,使得鸿蒙操作系统成为继苹果iOS和安卓系统之后的全球第三大移动操作系统&…

长沙理工大学《2024年825自动控制原理真题》 (完整版)

本文内容,全部选自自动化考研联盟的:《长沙理工大学825自控考研资料》的真题篇。后续会持续更新更多学校,更多年份的真题,记得关注哦~ 目录 2024年真题 Part1:2024年完整版真题 2024年真题

【漏洞复现】CVE-2024-34102 Magento Open Source XXE漏洞

目录 漏洞介绍 影响版本 环境搭建 查看版本 漏洞复现 手动复现 漏洞 poc Magento Open Source 是一个免费开源的电子商务平台,适合中小企业或开发团队通过自定义代码和插件创建在线商店。它由社区开发和支持,功能强大但需要更多的技术投入。Adobe…