网站首页 > 技术教程 正文
1. nginx + lua 安装
参考:[http://openresty.org/cn/installation.html](http://openresty.org/cn/installation.html) (官网)
2.ngix,lua相关配置:
1.nginx.conf 配置调整
a.添加lua相关模块:
lua_package_path ‘/usr/local/nginx-1.12.1/conf/lualib/?.lua;;’;
lua_package_cpath ‘/usr/local/nginx-1.12.1/conf/lualib/?.so;;’;
b.添加缓存
lua_shared_dict lua_cache 128m;
c.添加lua过滤文件(需要过滤的location 配置)
rewrite_by_lua_file /usr/local/nginx-1.12.1/conf/limit_ip.lua;
2.limit_ip.lua 逻辑
a.用户登录(属于正常用户)
local is_login= get_user_cookie(mem_ip,mem_port)
if is_login ~= 0 then --=0 ck为空,其他状态 mem操作异常,或者ck存在 返回正常
return
end
b.白名单过滤
local is_ua_ok = white_ua_check()
— white ua ok return
if is_ua_ok == 1 then
return 1
end
c.连接redis,当前请求ip频率逻辑处理
– 连接redis
local redis = require(‘resty.redis’)
local red = redis.new()
red:set_timeout(1000)
local ok, err = red:connect(redis_ip,redis_port)
if not ok then
return close_redis(red)
end
local lua_limits_key = “visitpolicy:xxxx’:’…clientIP…”:limits"
local limits_times,err1 = red:incr(lua_limits_key) – 存在设置自增
if limits_times == 1 then --ip不存在
red:expire(lua_limits_key,3600) --过期时间
return close_redis(red)
else
if limits_times and tonumber(limits_times) >= forbidden_times then – --ip超过 403
ngx.exit(403)
else --正常范围
close_redis(red)
3.相关测试数据(ab压测)
猜你喜欢
- 2024-10-10 通过nginx日志分析IP UV和PV量(nginx日志访问量前十的ip)
- 2024-10-10 Nginx 之 realip模块 使用详解(nginx rewrite模块)
- 2024-10-10 生产环境用shell进行nginx日志访问IP和URL统计
- 2024-10-10 https网站(nginx服务器)如何禁止“直接通过IP地址访问”
- 2024-10-10 Nginx通过ip进行限流,并增加白名单
- 2024-09-14 nginx允许IP访问不生效问题「原创」
- 2024-09-14 Linux 配置Nginx反向代理教程和说明
- 2024-09-14 EFK收集nginx日志并展示来源IP地图
- 2024-09-14 Nginx反向代理:通过外网访问内网数据库(mysql)
- 2024-09-14 详解nginx限制IP恶意调用短信接口处理方法
你 发表评论:
欢迎- 最近发表
-
- Linux新手必看:几种方法帮你查看CPU核心数量
- linux基础命令之lscpu命令(linux中ls命令的用法)
- Linux lscpu 命令使用详解(linux常用ls命令)
- 如何查询 Linux 中 CPU 的数量?这几个命令要知道!
- 在linux上怎么查看cpu信息(linux如何查看cpu信息)
- 查看 CPU 的命令和磁盘 IO 的命令
- 如何在CentOS7上改变网卡名(centos怎么改网卡名字)
- 网工必备Linux网络管理命令(网工必备linux网络管理命令是什么)
- Linux 网络命令知多少(linux 网络 命令)
- Linux通过命令行连接wifi的方式(linux命令行连接无线网)
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)