Are headers set in the server block inherited to all location blocks
justink101
nginx-forum at nginx.us
Wed Feb 5 06:49:59 UTC 2014
I am seeing strange behavior using includes. For example, if I request a
javascript file (ending in .js) the headers set globally in the server block
are not set. I was under the impression that if you set headers in the
server block, ALL location blocks below inherit those headers.
See the following:
server {
...
add_header Strict-Transport-Security max-age=31556926;
add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
include expires.conf;
...
}
# expires.conf
location ~* \.(?:ico|js|css|gif|jpe?g|png|xml)$ {
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
When requesting a .js file, the Pragma and Cache-Control headers are set,
but all the headers set in the base server block are not. What is the fix
here?
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,247185,247185#msg-247185
More information about the nginx
mailing list