Debug whether a given config file actually ends up included?

Szczepan Hołyszewski asked:

I am looking for a way to quickly debug whether a given nginx conf file actually gets included directly or indirectly from main nginx.conf. Does nginx keep track of what config files it processes?

Solution may require openresty/lua and must not require Nginx+.

An ideal solution would add X-Config-Read header(s) to every response, and would only need to be set up in one place, without having to modify all server blocks, let alone all location blocks.

My answer:

nginx -T will show your configuration as it is read and parsed, including each time a configuration file is included. The pathname of the file will be shown. If a file is included multiple times, it will be shown again, every time it is included.

Note that old versions of nginx do not have this feature; it was introduced in 1.9.2.

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.