nginx屏蔽指定IP

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

nginx屏蔽指定IP
⾸先找到nginx的配置⽂件,只要在相关配置⽂件中添加⼀些配置语句即可。

简单使⽤配置
1. 屏蔽单个IP地址,使⽤关键词deny,例如:deny 10.11.1
2.13
2. 允许单个IP地址,使⽤关键词allow,例如:allow 10.11.12.14
3. 屏蔽所有的IP地址:deny all
4. 允许所有IP地址:allow all
5. 屏蔽⼀定范围内IP地址,使⽤IP地址加⼦⽹掩码的组合。

例如:
屏蔽10.0.0.1~10.255.255.254这个范围的ip地址:deny 10.0.0.0/8
屏蔽10.11.0.1~10.11.255.254这个范围的IP地址:deny 10.11.0.0/16
屏蔽10.11.12.1~10.11.12.254这个范围的IP地址:deny 10.11.12.0/24
6. 允许⼀定范围内的IP地址访问,同上所⽰,关键词换成allow。

以上只是最基本的使⽤⽅法,那么问题来了,nginx做代理的时候,可以监听多个地址或者指向不同的⽹站,那么该怎么只针对不同的⽹站做区分呢?
指定代理⽹站添加屏蔽策略
针对上⾯的问题,我们只要把屏蔽IP的语句放在不同的位置就好了。

在nginx的配置⽂件中,不同的语句块所产⽣的影响效果也是不⼀样的。

语句块效果
http{}对nginx的所有服务⽣效,所有代理⽹站都会受到影响
server{}指定的server服务,只对配置的代理⽹站起作⽤
location指定的访问地址
limit_except指定的http⽅法谓词
如果现在有⼏百个不同的IP地址,它们⼜分布在不同的⽹段,这时候写在配置⽂件中,每个IP写⼀⾏,那这个配置⽂件岂不是要写的⽆⽐的长,可读性就太差了,修改起来也不⽅便。

这时候我们该怎么办呢?
写成单独的屏蔽策略配置⽂件
新建⼀个配置⽂件,例如blockip.conf,把所有的屏蔽ip策略可以写在这个⽂件中,最后我们只要在nginx的配置⽂件nginx.conf中引⼊即可,还可以在不同的语句块中引⼊,效果同上表所⽰。

屏蔽策略配置⽂件中可以写允许的IP地址,也可以写屏蔽的IP地址。

但是有⼀点,当你只放开⼏个IP地址,然后屏蔽剩余所有IP地址时,⼀定要先写放⾏的ip地址。

# 放⾏部分ip访问
allow 10.11.12.13;
allow 10.11.12.14;
allow 10.11.12.15;
# 禁⽌其余ip访问
deny all;
⽰例配置:
location /commonService/ {
include blockip.conf;
proxy_pass http://127.0.0.1:8082/;
}。

相关文档
最新文档