lua处理请求的8个阶段

1 init_by_lua http

2 set_by_lua 改写nginx变量,相当于set;流程分支处理判断变量初始化 server, server if, location, location if

3 rewrite_by_lua 改些URI,可用于实现跳转/重定向/缓存等功能(例如特定请求代理到外网); http, server, location, location if

4 access_by_lua 处理访问控制或限速;IP准入,接口权限等情况集中处理(例如配合iptables完成简单的防火墙)http, server, location, location if

5 content_by_lua 最常用的阶段,产生响应内容;location, location if

6 header_filter_by_lua 加工处理http响应头,过滤数据(例如添加头部信息);http, server, location, location if

7 body_filte_by_lua 增加响应体,加工处理body响应体,可附加额外内容; http, server, location, location if

8 log_by_lua 记录日志,统计分析或其他收尾工作(会话完成后本地异步完成日志记录,日志可以记录在本地,还可以同步到其他机器); http, server, location, location if

以上这些阶段在处理HTTP请求是顺序执行的;8个阶段

猜你喜欢

转载自blog.51cto.com/wenxi123/2645071