7

I have an nginx configuration which is made up of a number of locations. I want to add a directive add_header for each location, and I am checking a way how this could be done globally. Without modifying any location, but each location will inherit this header. I have researched regarding this and found that I could use the include and declare the add_header externally in another file. By implementing this method I have to still write in each location

7ochem
  • 280
  • 1
  • 3
  • 12
drowzee
  • 93
  • 1
  • 1
  • 3

1 Answers1

4

The add_header command works in the location, server, and http scopes. You can add it at any of those locations, but according to the documentation

These directives are inherited from the previous level if and only if there are no add_header directives defined on the current level

That means you should add it to the most appropriate block.

If you want anything to be shared between configuration files you use the include command. I use this to include some caching directives.

Tim
  • 31,888
  • 7
  • 52
  • 78
  • 26
    This isn't quite correct. According to the Nginx documentation, `These directives are inherited from the previous level if and only if there are no add_header directives defined on the current level.` – Geoffrey Dec 21 '18 at 06:30
  • 4
    I have incorporated that into the answer, thanks @Geoffrey. It only took me 3 years ;) – Tim Sep 08 '20 at 08:09