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?

  • Could you post the output of $ curl -I <url>//mediocregopheristhecoolest – Chida Aug 17 '12 at 17:50

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.

  • See comment of marat: the new nginx version supports setting the header irrespective of response code – Laurens Rietveld Feb 6 '15 at 14:37

Since Nginx 1.7.5 you can use always to add a header irrespective of the response code:

add_header X-Test "blahblahblah" always;
  • 1
    Frustratingly, the version in Debian's repos is currently outdated (1.6.x), but nginx maintains their own repository with the latest stable build (1.8.x right now). – kungphu Mar 2 '16 at 0:46
  • If you want to upgrade an already working debian system, debian backports is safer... packages.debian.org/jessie-backports/httpd/nginx The upstream package use different package organisation (may cause some downtime instead of the smooth nginx upgrade mechanism). And its postrm script removes the logs. And a couple of other small differences... – Lajos Veres Feb 2 '17 at 11:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.