开发者社区> 问答> 正文

Nginx屏蔽IP的方法

在使用Nginx的过程中,如何屏蔽IP地址。

展开
收起
开发者说 2019-07-11 10:18:19 823 0
1 条回答
写回答
取消 提交回答
  • 本文概述通过 nginx 屏蔽 IP 访问的方法:


    方法一

    1. 建立下面的配置文件放在 nginx 的安装配置的 conf 目录下面,命名为 blocksip.conf: 
    比如假设需要屏蔽的是 192.168.1.1,则编辑 blocksip.conf 文件,添加如下内容


      deny 192.168.1.1,;


    2.在 nginx 的配置文件 nginx.conf 中加入:


       include blocksip.conf;

    3. 重启nginx服务:


       /usr/local/nginx/sbin/nginx -s reload

    另外,blocksip.conf 文件的格式还有许多种,可以配置只允许的 IP 访问或者 IP 段访问: 

    • deny IP; 拒绝 IP
    • allow IP; 允许 IP
    • block all ips (拒绝所有 IP)使用 deny all; 
    • allow all ips (允许所有 IP 访问)allow all; 

    在文件中,也可以使用网段的形式配置,比如 192.168.1.0/24  24 表示 C 类网络,相应配置为:


       deny 192.168.1.0/24;

    如果想实现除了指定的几个 IP 外,其他全部拒绝,则可以使在 ip.balcklist 中进行如下配置:


       allow ip 192.168.1.1
       allow ip 192.168.1.2
       deny all; (表示除了192.168.1.1,192.168.1.2外其他的都拒绝)

     

    方法二

    单独网站屏闭 IP 的方法:


    在 server"{}",在这个大括号内加入 deny IP 地址是限制某 IP 地址访问;allow IP地址是只允许某IP地址访问;


       #屏蔽单个IP的命令是
       deny 192.168.1.1
    
       # 封整个段即从10.0.0.0到10.255.255.255的命令
       deny 10.0.0.0/8
    
       # 封IP段即从127.16.0.0到172.16.0.0的命令
       deny 172.16.0.0/16
    
       # 封IP段即从到192.168.1.254的命令是
       deny 192.169.1.0/24

    例如,下面的例子屏蔽 192.168.1.0/24 的网段 IP:


       #server {
       #    listen 8000;
       #    listen somename:8080;
       #    server_name somename alias another.alias;
           deny 192.168.1.0/24
       #   location / {
       #   root html;
       #   index index.html index.htm;
       #   }
       #}
    2019-07-11 11:03:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载