I'm currently trying to get nginx to add a header to the response when it is sending some kind of 50* error. I already have an add_header directive on the http block, and that gets respected for all requests except it seems errors. I also tried the following in one of my vhosts:
location /mediocregopheristhecoolest {
add_header X-Test "blahblahblah";
return 502;
}
Going to that page gives me a 502, but no header. Is this simply something nginx doesn't do, or am I doing it wrong?
Since Nginx 1.7.5 you can use
always
to add a header irrespective of the response code:The documentation states that add_header "Adds the specified field to a response header provided that the response code equals 200, 204, 206, 301, 302, 303, 304, or 307. A value can contain variables." So it doesn't work with a 502.
I forgot to add that you can use the third party headers more module to add headers to other codes. You'll probably have to recompile to add it, though.