Setting an error_page for upstream timeouts

Dustin Moskovitz dustin.moskovitz at
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
upstream jsweb {

  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:, server: localhost, request: "GET /-/forgot_password
HTTP/1.1", upstream: "", host: ""
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list