开发者社区> 问答> 正文

什么是Nginx 屏蔽 IP 方法


本文概述通过 nginx 屏蔽 IP 访问的方法:

方法一





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

2.在 nginx 的配置文件 nginx.conf 中加入:
  1. include blocksip.conf;

3. 重启nginx服务:
  1. /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 类网络,相应配置为:
  1. deny 192.168.1.0/24;

如果想实现除了指定的几个 IP 外,其他全部拒绝,则可以使在 ip.balcklist 中进行如下配置:
  1. allow ip 192.168.1.1
  2. allow ip 192.168.1.2
  3. deny all;  (表示除了192.168.1.1,192.168.1.2外其他的都拒绝)






方法二





单独网站屏闭 IP 的方法:
在 server"{}",在这个大括号内加入 deny IP 地址是限制某 IP 地址访问;allow IP地址是只允许某IP地址访问;
  1. #屏蔽单个IP的命令是
  2. deny 192.168.1.1
  3. # 封整个段即从10.0.0.0到10.255.255.255的命令
  4. deny 10.0.0.0/8
  5. # 封IP段即从127.16.0.0到172.16.0.0的命令
  6. deny 172.16.0.0/16
  7. # 封IP段即从到192.168.1.254的命令是
  8. deny 192.169.1.0/24

例如,下面的例子屏蔽 192.168.1.0/24 的网段 IP:
  1.    #server {
  2.     #    listen       8000;
  3.     #    listen       somename:8080;
  4.     #    server_name  somename  alias  another.alias;
  5.         deny 192.168.1.0/24
  6.     #    location / {
  7.     #        root   html;
  8.     #        index  index.html index.htm;
  9.     #    }
  10.     #}


如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-23 11:40:13 2286 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

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