博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx 禁用IP IP段
阅读量:5916 次
发布时间:2019-06-19

本文共 877 字,大约阅读时间需要 2 分钟。

  hot3.png

最近公司网站被竞争对手用爬虫频繁访问,所以我们这边要禁止这些爬虫访问,我们通过nginx 指令就可以实现了

方法一:直接在LB机器上封IP

1.在 blocksip.conf 文件中加入要屏蔽的ip或者ip端

$ sudo vim /etc/nginx/blocksip.confdeny 180.168.74.26;deny 91.212.45.0/24;

2. 在nginx.conf中包含这个文件

$ sudo vim /etc/nginx/nginx.confhttp {..............include /etc/nginx/blocksip.conf;}

3.重启服务

$ sudo /etc/init.d/nginx reload

方法二:直接在APP业务机器上操作(有时候LB并不能直接操作)

这个时候我们不能通过$remote_addr获取ip,因为经过LB过来,需要同$http_x_forwarded_for获取,使用nginx map指令

1.通过map指令设置 变量

$ sudo vim /etc/nginx/nginx.confhttp{..............    map $http_x_forwarded_for $ip_allowed {        default allow;        ~\s*192.168.22.*$ deny;        ~\s*192.168.21.11$ deny;    }}

2.在vhost 的server 配置中 通过$ip_allowed变量判断

server{................    if ( $ip_allowed = "deny" ) {        return 403;    }}

3.重启服务

sudo /etc/init.d/nginx reload

至于使用何种方法,大家根据情况自己定夺了。

原文地址:
标签:            

智能推荐

转载于:https://my.oschina.net/54php/blog/688460

你可能感兴趣的文章
通过zabbix-snmp监控jvm
查看>>
Citrx XenDesktop 7 实施六 XenDesktop VDI 桌面安装
查看>>
python全局变量在 函数中 修改
查看>>
JSON入门
查看>>
使用mysql purge手动清除二进制日志
查看>>
[USACO5.3]校园网Network of Schools Tarjan缩点
查看>>
js 页面之间的跳转、传参
查看>>
hibernate 创建工厂类
查看>>
112. Path Sum(判断路径和是否等于一个数)
查看>>
SVN-让项目不包括Bin和Obj
查看>>
教你怎样制作暴漫表情
查看>>
杭电4707--Pet (Dfs)***
查看>>
Zoj3944 - People Counting
查看>>
箭头函数
查看>>
OO Summary Ⅱ
查看>>
CrackMe-CrackHead
查看>>
高斯混合模型(理论+opencv实现)
查看>>
c#学习笔记03——委托和事件
查看>>
DOM性能瓶颈与Javascript性能优化
查看>>
【leetcode】900. RLE Iterator
查看>>