0%

NGINX 配置指令执行顺序

三个常见的处理阶段

按先后顺序:rewrite、access、content set指令在rewrite阶段运行,而echo指令在content阶段运行,

1
2
3
4
5
6
7
location /test {
set $a 32;
echo $a;

set $a 56;
echo $a;
}

这段配置只会打印两个56

与rewrite模块可以配合工作的模块

lua、set_misc、array_var、encrypted_session
这些第三方模块都采用了特殊的技术,将它们自己的配置指令“注入”到了 ngx_rewrite 模块的指令序列中(它们都借助了 Marcus Clyne 编写的第三方模块 ngx_devel_kit)
除非模块的文档中有明确的交待,否则不同模块的配置指令集之间的先后顺序一般是不确定的