nginx-lua 运行阶段

Nginx 处理请求的过程一共划分为 11 个阶段,按照执行顺序依次是{
	post-read、[Nginx 读取并解析完请求头(request headers)之后就立即开始运行
	
	server-rewrite、[server请求地址重写阶段
	find-config、[配置查找阶段,用来完成当前请求与location配置块配对
	rewrite、[location请求地址重写阶段,当ngx_rewrite指令用于location中,就是再这个阶段运行的;
	post-rewrite、[对rewrite阶段的多次重写 做一次内不跳转 到 find-config阶段
	
	preaccess、[访问权限检查准备阶段
	access、[权限检查阶段,ngx_access在这个阶段运行,配置指令多是执行访问控制相关的任务,如检查用户的访问权限,检查用户的来源IP是否合法
	post-access、[主要用于配合 access 阶段实现标准 ngx_http_core 模块提供的配置指令 satisfy 的功能 访问权限检查提交阶段
	
	try-files、[配置项try_files处理阶段
	content、[内容产生阶段,是所有请求处理阶段中最为重要的阶段,因为这个阶段的指令通常是用来生成HTTP响应内容的
	log、[日志模块处理阶段
}
rewrite、access 和 content 这三个最为常见的 Nginx 请求处理阶段

ngx.lua的运行阶段
init_by_lua            http
set_by_lua             server, server if, location, location if
rewrite_by_lua         http, server, location, location if
access_by_lua          http, server, location, location if
content_by_lua         location, location if
header_filter_by_lua   http, server, location, location if
body_filter_by_lua     http, server, location, location if
log_by_lua             http, server, location, location if
{
	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: 会话完成后本地异步完成日志记录(日志可以记录在本地,还可以同步到其他机器)
}


post-read:{
	set_real_ip_from 127.0.0.1;
    real_ip_header   X-My-IP;
    location /test {
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值