Using add_header at server level context

Francis Daly francis at daoine.org
Mon Sep 30 14:30:06 UTC 2013


On Mon, Sep 30, 2013 at 03:42:50PM +0200, Thijs Koerselman wrote:

Hi there,

> From the add_header docs I understand that it works at location, http and
> server context. But when I use add_header at the server level I don't see
> the headers being added to the response.

> Am I missing something or is this just not working at the server level for
> some reason?

You're missing something.

You're either missing that if the second argument to add_header expands
to empty, then the header is not added; or that configuration directive
inheritance is by replacement, not addition.

==
  server {
    listen 8080;
    add_header X-Server server-level;
    add_header X-Surprise $http_surprise;

    location /one {
      return 200 "location one";
    }
    location /two {
      return 200 "location two";
      add_header X-Location two;
    }
  }
==

Compare the outputs you actually get from

  curl -i http://127.0.0.1:8080/one

  curl -i http://127.0.0.1:8080/two

  curl -i -H Surprise:value http://127.0.0.1:8080/one

with what you expect to get.

	f
-- 
Francis Daly        francis at daoine.org



More information about the nginx mailing list