Is this a bug???

Maxim Dounin mdounin at mdounin.ru
Tue Feb 21 08:57:34 UTC 2012


Hello!

On Tue, Feb 21, 2012 at 12:47:37PM +0800, 马优生 wrote:

> hello,everyone:
>       I have the following questions about add_header instruction.(version 1.1.8)
> 
>       This is my nginx.conf
> 
>             43 add_header Server ok;
>             44 location / {
>             45 add_header location ok;
>             46 root html;
>             47 index index.html index.htm;
> 
>       then construct a request:
> 
>       [root at gitclubs conf]# curl -I http://localhost/
>       HTTP/1.1 200 OK
>       Server: nginx/1.0.12
>       Date: Mon, 20 Feb 2012 08:13:02 GMT
>       Content-Type: text/html
>       Content-Length: 151
>       Last-Modified: Mon, 13 Feb 2012 02:12:22 GMT
>       Connection: keep-alive
>       location: ok
>       Accept-Ranges: bytes
>       [root at gitclubs conf]# 
> 
>       There is only location header.
> 
>       In ngx_http_headers_merge_conf()  (ngx_http_headers_filter_module.c)
>             440       if (conf->headers == NULL) {
>             441             conf->headers = prev->headers;
>             442       }
> 
>       If I config add_header in location and server, then prev->headers can't be merged to conf->headers.
>       Is this intended or a bug?

This is intended.  Array-type directives (all of them, not only 
add_header) are inherited only if there are no corresponding 
directives defined at particular level.

Maxim Dounin



More information about the nginx mailing list