最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx中基于客户端 IP 来开启/关闭认证
时间:2022-06-30 18:40:39 编辑:袖梨 来源:一聚教程网
前些日子帮助公司在搭建了一个内部资源的导航页面,方便公司员工访问各种常用的系统。因为这个页面包含一些敏感信息,我们希望对其做认证,但仅当从外网访问的时候才开启,当从公司内网访问的时候,则无需输入账号密码。
按照这个需求研究了下 Nginx 配置,发现 satisfy 指令可以很好地解决这个问题。下面贴出来我们的配置:
代码如下 | 复制代码 |
server { satisfy any; location / { |
其中 satisfy 作用于所有的 access phase handler,参数值有两种:all 和 any,分别代表所有规则都满足和任一规则满足。将其配置为 any,并配合 auth_basic 和 access 模块就可以基于 IP 地址来开启/关闭认证。
以我们的规则为例,192.168.0.0/22 这个内网网段和 111.222.333.1(虚构的)这个 IP 的 Client 是可以访问的,而其他用户则需要进行认证。
官方文档上的说法是 satisfy 支持 ngx_http_access_module, ngx_http_auth_basic_module 和 ngx_http_auth_request_module,不确定对于第三方的认证模块如 ngx_http_auth_digest,satisfy 是否也能工作。
相关文章
- 《绝区零》伊芙琳培养材料汇总 01-24
- 《无限暖暖》1.2春节兑换码一览 01-24
- 《网上国网》查询阶梯档位方法 01-24
- 《蛋仔派对》神游贺岁盲盒获取方法 01-24
- 《炉石传说》星际联动盗贼卡组玩法介绍 01-24
- 皮革珊瑚属于珊瑚中的 01-24