当前位置: 首页 > news >正文

Nginx篇之限制公网IP访问特定接口url实操

一、nginx配置限制IP访问

要在 Nginx 配置中添加 IP 限制,阻止来自指定公网 IP 地址段的访问,并且只对特定路径进行限制,可以在 location 配置中使用 deny 和 allow 指令来控制访问。

二、案例

1. 需求

对来自特定公网的地址段,禁止访问 /aipassweb-hx-api/biz/task-reflow/queryAlgorithm这个API接口。
下面是优化后的配置:

upstream backend {server backend1.example.com;}server {listen 8808;server_name 10.127.192.5;location / {proxy_pass_header Server;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Scheme $scheme;proxy_pass http://backend;}# 精确匹配目标路径location = /aipassweb-hx-api/biz/task-reflow/queryAlgorithm {# 屏蔽特定IP(优先级高于allow all)deny 10.127.192.249;# 禁止IP段deny 60.176.143.233/29;deny 182.150.55.94/24;deny 117.39.60.106;# 允许其他所有IP访问allow all;proxy_pass_header Server;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Scheme $scheme;proxy_pass http://backend;}}

配置说明:

  1. deny 指令:用来禁止指定的 IP 地址段或单个 IP 地址访问。可以使用 CIDR(如 /24、/29)表示子网地址段,也可以直接指定单个 IP 地址。

  2. allow 指令:用于允许特定 IP 地址段或所有 IP 地址访问。在这里,allow all; 确保其他未被拒绝的 IP 地址可以正常访问。

  3. 顺序与优先级:Nginx 配置文件中,deny 的优先级高于 allow,因此在该路径下,首先会检查 deny 列表,如果匹配上则拒绝访问,未匹配的 IP 地址则允许访问。

优化后的配置

  1. 每个需要被拒绝访问的公网地址或地址段都被单独列出,并且使用 deny 指令进行限制。
  2. allow all 确保其他没有在 deny 列表中的 IP 地址能够访问此路径。

这种方式适合用于特定路径的 IP 访问控制,而其他路径则不会受到这些规则的影响。

2. 测试是否生效

  1. 从deny的IP节点【10.127.192.249】来curl测试该url接口,看看返回结果
    在这里插入图片描述
    返回403 Forbidden,说明生效~
  2. 从其他未限制的节点curl测试访问,接口返回正常
    在这里插入图片描述
    OK
http://www.xdnf.cn/news/328717.html

相关文章:

  • QUIC协议优化:HTTP_3环境下的超高速异步抓取方案
  • Qt重写相关事件,原来的默认功能是不是丢失了?
  • FFmpeg(7.1版本)编译生成ffplay
  • AI Agent(5):多Agent协作系统
  • 5.6-DAE实现
  • 背单词软件开发英语app开发,超级单词表开发,河南数匠软件开发
  • 数据结构之栈与队列
  • QT6 源(83)篇二:日期类型 QDate 的源代码,及功能测试:日期与字符串互相转换时候的格式指定,
  • 中级注册安全工程师的《安全生产专业实务》科目如何选择专业?
  • Media3 中 Window 的时间相关属性详解
  • MySQL 1205错误:Lock wait timeout exceeded问题处理
  • 词编码模型和回答问题的LLM是否为同一个; 词编码模型和回答问题模型分开时:需要保证词嵌入维度一致吗
  • 软考【软考高级QA】
  • DSENT (Design Space Exploration of Networks Tool) 配合gem5
  • 时间序列数据集增强构造方案(时空网络建模)
  • 【网络编程】二、UDP网络套接字编程详解
  • 项目文档归档的最佳实践有哪些?
  • Nacos源码—Nacos集群高可用分析(二)
  • java实现一个操作日志模块功能,怎么设计
  • 【云备份】项目展示项目总结
  • 深入理解Redis缓存与数据库不一致问题及其解决方案
  • Matlab 多策略改进蜣螂优化算法及其在CEC2017性能
  • PCI-Compatible Configuration Registers--BIST Register (Offset 0Fh)
  • 跨物种交流新时代!百度发布动物语言转换专利,听懂宠物心声
  • 电池管理系统BMS三级架构——BMU、BCU和BAU详解
  • Webug4.0靶场通关笔记20- 第25关越权查看admin
  • 读《暗时间》有感
  • 基于RT-Thread的STM32G4开发第二讲第二篇——ADC
  • 2014年写的一个文档《基于大数据应用的综合健康服务平台研发及应用示范》
  • layui下拉框输入关键字才出数据