首页 > 系统相关 >nginx对访问路径进行限制【部分接口可以内外网访问、剩余接口只可以内网访问】

nginx对访问路径进行限制【部分接口可以内外网访问、剩余接口只可以内网访问】

时间:2024-07-16 10:40:19浏览次数:10  
标签:nginx 接口 访问 location pass gateway proxy

前言
    最近这段时间的项目被查出了安全漏洞、然后做了一些安全措施的整改。整改后、BOSS又提了个很有意思的思路。
    涉及到小程序端的请求接口、内外网都可以访问。
    涉及到后台管理的请求接口、只允许内网访问。

开干开干
   由于项目引进了gateway网关、一开始的时候。我陷入了误区、一股脑想着在gateway的location里面做判断。
   看图
  

   然后加了各种if限制。发现还是会走后面的判断。
  

location /******-gateway {
    # 其他配置 ...

    # 定义允许内外网访问的路径模式
    if ($request_uri ~* "^/sys/(wx)/.*") {
        proxy_pass http://127.0.0.1:端口; 
    }

    # 默认情况下,只允许特定内网IP访问
    if ($remote_addr != "指定IP") {
        return 403;
    }
    # 默认代理
    proxy_pass http://127.0.0.1:端口; 
}

最后拆分成了两个 location

# 外网可访问的特定路径
        location ~* ^/**-gateway/sys/(wx)/ {
          proxy_pass http://127.0.0.1:端口;
        }
        

        # 网关-gateway
        location /****-gateway {
            
                # 默认情况下,其余接口只能通过内网访问
                if ($remote_addr != "指定IP") {
                    return 403;
                }
                # 如果通过了上面的检查,代理请求到后端服务
                proxy_pass http://127.0.0.1:端口;
        }

1.花了几个小时、一直在问GPT。。。
2.手机有缓存、、、一直提示403、后面重新进来请求又可以了。被坑了一波。。。
反思反思!!!!!


   



标签:nginx,接口,访问,location,pass,gateway,proxy
From: https://www.cnblogs.com/xiaoyangxiaoen/p/18304704

相关文章

  • 4、设计共享内存管理接口
    初级代码游戏的专栏介绍与文章目录-CSDN博客我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。    系统做大了增加很多管理功能是不可避免的,绝不只是几个......
  • 【扣子coze+微信开发者工具】实现ai自定义对话03:微信小程序js逻辑和接口实现
    目录摘要一、前言二、扣子API1. 扣子的API文档理解2.对话API深度理解2.1 bot_id2.2 additional_messages2.2.1role2.2.2 type2.2.3 content_type2.2.4 content2.3stream三、.js文件——发起对话(逻辑代码)1.纯文本text对话1.1content传入内容包装2.......
  • Linux系统搭建轻量级个人博客VanBlog并一键发布公网远程访问
    文章目录前言1.Linux本地部署2.VanBlog简单使用3.安装内网穿透4.创建公网地址5.创建固定公网地址前言今天和大家分享如何在LinuxUbuntu系统搭建一款轻量级个人博客VanBlog,并结合cpolar内网穿透软件生成公网地址,轻松实现随时随地远程访问本地部署的站点。无需......
  • Java 中如何实现接口和抽象类,它们的主要区别是什么?
    在Java编程中,接口(Interface)和抽象类(AbstractClass)是实现抽象化的两种重要手段,它们帮助我们设计更灵活、可扩展的代码结构。下面,我将从定义、实现方式、主要区别以及应用场景等方面,用平实的语言和示例代码来阐述它们的使用。接口(Interface)定义:接口是一种完全抽象的类型,它只......
  • 第一百六十四节 Java IO教程 - Java随机访问文件
    JavaIO教程-Java随机访问文件使用随机访问文件,我们可以从文件读取以及写入文件。使用文件输入和输出流的读取和写入是顺序过程。使用随机访问文件,我们可以在文件中的任何位置读取或写入。RandomAccessFile类的一个对象可以进行随机文件访问。我们可以读/写字节和所有原......
  • LogRotate 切割 Nginx 日志
     发布于 2023-12-0410:20:327140举报文章被收录于专栏:码农UP2U一直以来做日志切割都是使用shell+crontab来搞,shell脚本可以在网上找到各种版本的,改改就用了,懒省事。这样的做法很传统,却忽略了系统的给我们提供的优秀的工具——logrotate。......
  • (138)SRAM接口--->(001)基于FPGA实现SRAM接口
    1目录(a)FPGA简介(b)IC简介(c)Verilog简介(d)基于FPGA实现SRAM接口(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电......
  • (137)SRAM接口--->(004)基于FPGA实现SRAM接口
    1目录(a)FPGA简介(b)IC简介(c)Verilog简介(d)基于FPGA实现SRAM接口(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电......
  • Windows 注册表编辑器(regedit)的演变和发展主要是由 Microsoft Windows 操作系统的设计
    Windows注册表编辑器(regedit)的演变和发展主要是由MicrosoftWindows操作系统的设计和需求驱动的。下面是大致的演化过程:需求和设计:在早期的Windows系统中,配置信息分散存储在各种配置文件和INI文件中,管理起来不够方便。为了统一管理系统配置信息,并提高系统的灵活性和可维......
  • RabbitMQ 安装并成功启动后,无法访问http://127.0.0.1:15672/#/
    1.问题描述&解决:安装了最新版RabbitMQ,然后先正常启动也无法访问,然后网上搜呀搜,什么重启服务,使用管理员打开cmd,或者是使用管理员运行下图的RabbitMQservice-start,最后又尝试了rabbitmq-pluginsenablerabbitmq_management这个命令,都无法在火狐浏览器打开http://127.0.0.1:1......