To understand the inheritance model of nginx you first need to know that nginx operates with multiple blocks of configuration. In nginx such a block is referred to as a context, for instance, a configuration directive placed in server context resides within a server { } block just like a directive placed in http context resides in the http { } block.
There are 6 possible contexts in nginx, here in top to bottom order:
- Global.
- Http.
- Server.
- If.
- Location.
- Nested Location.
- If in location.
- limit_except.
The default inheritance model is that directives inherit downwards only. Never sideways and definitely never up. This includes scenarios where you rewrite a request internally from one location to another – every directive in the first location is forgotten and only the second location directives apply for the location context.
- Words by: Martin Fjordvald
- August 15, 2012
- 10 Comments

Twitter
LinkedIn
GooglePlus