ngx.thread.spawn、ngx.thread.wait、ngx.thread.kill 介绍ngx_lua中访问多个第三方服务ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发给客户端。location / { content_by_lua_block {
转载
2022-11-04 10:08:08
217阅读
语法: ok,err = ngx.timer.at(delay,callback,user_arg1,user_arg2 ...) 上下文: init_worker_by_lua *,set_by_lua *,rewrite_by_lua *,access_by_lua *,content_by_l
原创
2021-06-05 10:14:28
676阅读
语法: ok,err = ngx.timer.at(delay,callback,user_arg1,user_arg2 ...)上下文: init_worker_by_lua *,set_by_lua *,rewrite_by_lua *,access_by_lua *,content_by_lua *,header_filter_by_lua *,body_filter_by_lu...
原创
2023-02-21 09:27:31
645阅读
https://github.com/openresty/lua-nginx-module#ngxexec 参照:http://blog.csdn.net/weiyuefei/article/details/38434797 在Nginx中实现重定向可以通过rewrite指令,具体可参考《Nginx
原创
2021-06-05 10:14:24
1000阅读
34797在Nginx中实现重定向可以通过rewrite指令,具体可参考《Nginx学习——http_rewrite_module的rewrite指令》通过Lua模块也可以...
原创
2023-02-23 10:41:33
1398阅读
参考:https://moonbingbing.gitbooks.io/openresty-best-practices/content/ngx_lua/whats_cosocket.html 春哥演讲:http://agentzh.org/misc/slides/libdrizzle-lua-ng
原创
2021-06-05 10:14:26
501阅读
摘要:通过lua-nginx-module中的ngx.thread同时执行多个任务。ngx_lua中访问多个第三方服务ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发给客户端。location / { content_by_lua_block ...
原创
2023-02-21 09:21:30
822阅读
; ...
原创
2023-04-05 20:06:43
67阅读
通过lua-nginx-module中的ngx.thread同时执行多个任务。 ngx_lua中访问多个第三方服务 ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发
原创
2021-06-05 10:14:21
729阅读
1、先来个官方的ngx.re.match 分享:以上可以匹配nginx的uri里面的变量很方便。 2、ngx.re.match 指令 语法: captures,err = ngx.re.match(subject,regex,options?ctx?res_table?) 上下文: init_wor
原创
2021-06-05 10:14:27
857阅读
1、先来个官方的ngx.re.matchlocation /ngx_re_match { default_type text/html; content_by_lua_block { 3u8", "[0-9]+") if m then ...
原创
2023-02-21 09:26:39
981阅读
ngx_lua模块的原理:1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM;2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问;3、每个外部请求都由一个Lua协程处理,协程之间数据隔离;4、Lua代码调用I/O操作等异步接口时,会挂起当前协程(并保护上下文数据),而不阻塞worker;5、I/O等异步操作完成时还原相关协程上
ngx_lua 模块(原理实现) 1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM; 2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问; 3、每个外部请求都由一个Lua协程处理,协程之间数据隔离; 4、Lua代码调用I/O操作等异步接口
原创
2021-06-05 10:14:23
343阅读
ngx_lua 模块(原理实现) 1、每个worker(工作进程)创建一个Lua VM,worker内所有协程共享VM; 2、将Nginx I/O原语封装后注入 Lua VM,允许Lua代码直接访问; 3、每个外部请求都由一个Lua协程处理,协程之间数据隔离; 4、Lua代码调用I/O操作等异步接口
原创
2021-08-02 10:35:24
128阅读
ngx_lua 模块(原理实现) 1、每个worker(工作
原创
2023-02-21 10:01:42
105阅读
3.7 发送响应请求处理完毕后,需要向用户发送HTTP响应,告知客户端Nginx的执行结果。HTTP响应主要包括响应行、响应头部、包体三部分。发送HTTP响应时需要执行发送HTTP头部(发送HTTP头部时也会发送响应行)和发送HTTP包体两步操作。本节将以发送经典的“Hello World”为例来说明如何发送响应。3.7.1 发送HTTP头部下面看一下HTTP框架提供的发送HTTP头部的方法,如下
转载
2024-03-27 09:12:21
73阅读
下载连接:nginx:http://nginx.org/en/download.html
http://nginx.org/download/
lua-nginx模块安装文件:https://github.com/openresty/lua-nginx-module/tags
lua-zlib模块安装文件: https://github.com/brimwor
需求背景类似于论坛型的网站经常会被黑掉,除了增加硬件防护感觉效果还是不太好,还会偶尔被黑,waf的功能正好实现了这个需求。waf的作用: 防止sql注入,本地包含,部分溢出,fuzzing测试,xss,SSRF等web攻击
防止svn/备份之类文件泄漏
防止ApacheBench之类压力测试工具的攻击
屏蔽常见的扫描黑客工具,扫描器
屏蔽异常的网络请求
屏蔽图片附件类目录php执行权限
防止we
转载
2024-08-30 18:00:18
25阅读
0、手册应该是学习语言的最好的文档,一边看文档,一边想把它记录下来,lua 5.2 英文手册地址:http://www.lua.org/manual/5.2/manual.html在lua中,任何值都可以拥有元表(metatable)。元表本质是就是lua中table,但同时通过元表可以自定义在某些值上的操作。通过设置元表中特定的域(fields)值,可以改变某些值的操作行为。比如,当非数值类型的
MOOCHINE - 一个简单的轻量级的web framework, 基于ngx_OpenResty(ngx_lua,ttp://openresty.org) 做的框架,https://github.com/appwilldev/moochinengx_lua_wafngx_lua_waf是我刚入职趣游时候开发的一个基于ngx_lua的web应用防火墙。代码很简单,开发初衷主要是使用简单,高性能和
原创
2014-11-01 18:06:00
751阅读