Order of execution of nginx filters
Raghavan, Gopal
gopal.raghavan at here.com
Mon Jul 4 21:51:39 UTC 2016
Hi
I have the following three directives:
location = /hello {
hello_world;
hola_mundo on;
bonjour_monde on;
}
hello_world is an nginx handler module that provides content “hello world”
hola_mundo and bonjour_monde are filters that add to the chain strings “hola mundo” and “bonjour monde” respectively.
Here is the output:
curl "http://localhost:8090/hello"
hello worldhola mundobonjour monde
Switching the filter directives in location block has no impact on output string.
For eg:
location = /hello {
hello_world;
bonjour_monde on;
hola_mundo on;
}
Here is the output:
curl "http://localhost:8090/hello"
hello worldhola mundobonjour monde
How do I control the order of execution of filters?
I already looked at objs/ngx_modules.c and auto/modules. My custom handlers and filters are not listed there.
One thing that I observed is that the order of listing the load_module modules/*.so in conf/nginx.conf does impact the order of execution of the filters.
Is there any other trick to adjust the execution order within the location block?
Thanks,
--
Gopal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20160704/fdcc9897/attachment.html>
More information about the nginx-devel
mailing list