Openresty(十七)ngx_lua模块执行阶段

一    lua VM

Openresty(十七)ngx_lua模块执行阶段_第1张图片

二    ngx_lua原理

Openresty(十七)ngx_lua模块执行阶段_第2张图片

三    lua_ngx的执行顺序

官网参考

空     --> "lua代码字符串"

block  --> "{}"

file   --> "lua文件名"

Openresty(十七)ngx_lua模块执行阶段_第3张图片

nginx初始化 --> '接收'请求 -->  认证  --> '处理'请求  -->  '日志'处理

1) 初始化时:'尚未'接收请求

2) 接收请求: 判断'http|https'请求,设置nginx变量,rewrite,然后'认证'

3) 处理请求: 进行'balance'或者本地的lua"业务代码"处理,'处理完',进行'header'和'body'的封装

set_by_lua:           流程'分支'处理判断变量初始化
rewrite_by_lua:       转发、重定向、缓存等功能(例如特定请求'代理到外网')
access_by_lua:        ip准入、'接口权限'等情况集中处理(例如配合iptable完成'简单防火墙')
content_by_lua:       内容生成
header_filter_by_lua: 应答HTTP过滤处理(例如:添加'头部'信息)
body_filter_by_lua:   应答BODY过滤处理(例如:完成'应答内容'统一成大写)
log_by_lua:           会话完成后'本地异步'完成日志记录(日志可以记录在本地,还可以同步到其他机器)

Openresty(十七)ngx_lua模块执行阶段_第4张图片 使用nginx中auth_request进行鉴权 

你可能感兴趣的