Setting an error_page for upstream timeouts

Dustin Moskovitz dustin.moskovitz at gmail.com
Fri Dec 23 03:59:20 UTC 2011


I have a seemingly simple question about configuration, but have been
unable to find the answer through searching so far. I just want to override
the default 504 page when the upstream server times out, which I would have
thought would be handled by the error_page setting. Can anyone help?

My config looks like this (the variables are replaced before nginx is
started):
upstream jsweb {
    server 127.0.0.1:8091;
  }

  server {
    listen       $PORT$;
    server_name  localhost;
    root         $CONTENT_ROOT$;

    location / {
      add_header        X-Server-Name    "$HOST_NAME$";
      proxy_set_header  X-Real-IP        $remote_addr;
      proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
      proxy_set_header  Host             $http_host;
      proxy_pass        http://jsweb;
      error_page 502 503 504 $OUTAGE_PAGE$;
    }
  }

And the errors in the logs look like:

2011/12/23 03:50:35 [error] 13736#0: *9 upstream timed out (110: Connection
timed out) while reading response header from upstream, client:
10.214.178.111, server: localhost, request: "GET /-/forgot_password
HTTP/1.1", upstream: "http://127.0.0.1:8091/", host: "staging.myapp.com"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20111222/981ab2fb/attachment.html>


More information about the nginx mailing list