如何实现阿里云上的项目web管理界面不让公网地址访问

我有一个项目,如下

http://www.test.com/web  web控制台
http://www.test.com/admin 后端接口
http://www.test.com/wx 小程序

环境是在阿里云上的ecs web admin /wx 是通过nginx转发到clb然后转到域名 现在的需求是web控制台只允许公司内部的局域网访问(局域网和阿里云的网络是没有打通的,但是局域网的出口地址是固定的), 如果在阿里的负载均衡直接做全局访问控制的话,小程序的使用会收到影响,所以我想着在nginx上/web的location下做访问控制,只放行本地局域网的出口公网IP,但是尝试后没有生效。请问这种需求要怎么实现?

很简单,从你的情况来说,有2种实现方式:

  1. 架构体系不变,在nginx配置文件中操作,在location /web下添加如下配置:

    location /web {
     allow x.x.x.x; # company_ip
     deny all;
     # 你之前的其他配置放在下面不变
    }
    
  2. 使用CLB的7层负载均衡取代nginx,即使用http监听器可以负载到url地址,而不是原来的ip+端口。这样,在http监听器中可以添加白名单,在web的监听器访问控制白名单中添加你公司IP,即可实现只有公司可以访问后台。