08
2025
04
20:39:12

nginx中设置IP白名单/黑名单

  1. nginx中ngx_http_access_module模块能够按客户端地址设置是否有访问权限。

  2. allow指令设置允许访问的IP或网络,如allow 172.17.0.8;allow 172.17.0.0/16;

  3. deny指令设置限制访问的IP或网络,如deny 172.17.0.8;deny 172.17.0.0/16;

  4. allowdeny这两个指令都可以配置在http, server, location, limit_except块中。

  5. 一个配置块中如果配置了多个allowdeny指令,按先后顺序逐条匹配,第一个匹配成功的规则立即生效不再检查后面的规则

  6. 如何检查规则是否匹配:请求的客户端的IP与allow或deny指令后的IP/网络是否匹配

  7. 如以下配置中:172.17.0.8不能访问,172.17.0.0/16网络中的其它地址都能访问。因为来自172.17.0.8的请求匹配到第一条规则deny 172.17.0.8;后禁止访问。而172.17.0.7能够访问是因为allow 172.17.0.0/16;规则生效。allowallow 172.17.0.0/16;

    server {
        listen 8366;
        location / {
            deny  172.17.0.8;
            allow 172.17.0.0/16;
            deny  all;
            root  html;
            index index.html index.htm;
        }
    }



  8. 修改以上配置,将第一、二条规则交换顺序后,172.17.0.8可以访问。因为第一条规则allow 172.17.0.0/16;匹配成功后不会再往后执行deny 172.17.0.8

    server {
        listen 8366;
        location / {
            allow 172.17.0.0/16;
            deny  172.17.0.8;
            deny  all;
            root  html;
            index index.html index.htm;
        }
    }




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://zblog.hqyman.cn/post/10218.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: