Using add_header at server level context

Thijs Koerselman thijskoerselman at gmail.com
Mon Oct 7 14:03:01 UTC 2013


Thanks. So using add_header in the location scope omits any earlier
add_header statements used in the parent scope. I am surprised that it
works like that, but it's definitely good to know.



On Mon, Sep 30, 2013 at 4:30 PM, Francis Daly <francis at daoine.org> wrote:

> 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
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20131007/64581fb7/attachment.html>


More information about the nginx mailing list