首页 > nginx > nginx屏蔽ip

nginx屏蔽ip

2014年12月28日 发表评论 阅读评论

采集和防止采集是一个经久不息的话题,一方面都想搞别人的东西,另一方面不想自己的东西被别人搞走。

本文介绍如何利用nginx屏蔽ip来实现防止采集,当然也可以通过iptable来实现。

1.查找要屏蔽的ip

nginx.access.log 为日志文件,

会到如下结果,前面是ip的访问次数,后面是ip,很明显我们需要把访问次数多的ip并且不是蜘蛛的ip屏蔽掉,本例当中我们屏蔽掉165.91.122.67

2.在nginx的安装目录下面,新建屏蔽ip文件,命名为blockip.conf,以后新增加屏蔽ip只需编辑这个文件即可。 加入如下内容

保存一下。

3.在nginx的配置文件nginx.conf中加入如下配置,可以放到http, server, location, limit_except语句块,需要注意相对路径,本例当中nginx.conf,blocksip.conf在同一个目录中。

4.重启一下nginx的服务:/usr/local/nginx/nginx -s reload 就可以生效了。

高级用法:

屏蔽ip的配置文件既可以屏蔽单个ip,也可以屏蔽ip段,或者只允许某个ip或者某个ip段访问。

# 屏蔽单个ip访问

# 允许单个ip访问

# 屏蔽所有ip访问

# 允许所有ip访问

#屏蔽整个段即从123.0.0.1到123.255.255.254访问的命令

#屏蔽IP段即从123.45.0.1到123.45.255.254访问的命令

#屏蔽IP段即从123.45.6.1到123.45.6.254访问的命令

如果你想实现这样的应用,除了几个IP外,其他全部拒绝,
那需要你在blockip.conf中这样写

单独网站屏蔽IP的方法,把include blocksip.conf; 放到网址对应的在server{}语句块,
所有网站屏蔽IP的方法,把include blocksip.conf; 放到http {}语句块。

分类: nginx 标签:
  1. l
    2019年11月21日11:53 | #1

    你很牛逼

  2. brust
    2019年1月18日13:51 | #2
  3. 2017年12月9日20:16 | #3

    总结很详细,我的博客服务器正在用

  4. 2016年7月6日18:09 | #4

    不错

  5. kylin
    2016年1月19日14:34 | #5

    真的可以屏蔽IP吗?抓取的时候伪造的IP会被真实记录吗?

  6. 2016年1月15日11:19 | #6

    很精彩

  7. 2015年5月28日21:29 | #7

    不错!!!

  8. 2015年5月16日11:52 | #8

    东西还不错,支持一下!

  9. 魔尊
    2015年1月14日11:23 | #9

    谢谢 很不错 学习了

  10. 2015年1月5日09:47 | #10

    方法不错,学习了!!

  11. jkh
    2015年1月1日00:06 | #11

    看看

  1. 2018年5月21日09:40 | #1