实现动态封禁 IP,干死爬虫

为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP ,拒绝提供服务。
实现 IP 黑名单的功能有很多途径:
1、在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求;
2、在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者 lua 插件 配置 IP 黑名单;
3、在应用层面,在请求服务之前检查一遍客户端 IP 是否在黑名单。
为了方便管理和共享,我们选择通过 Nginx+Lua+Redis 的架构实现 IP 黑名单的功能,架构图如下:

1、安装 Nginx+Lua模块
推荐使用 OpenResty,这是一个集成了各种 Lua 模块的 Nginx 服务器:

2、安装并启动 Redis 服务器
3、配置 Nginx 示例:

Nginx 配置,其中
lua_shared_dict ip_bl

实现动态封禁 IP,干死爬虫最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/10774.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>