Using error documents to handle upstream problems

There are situations in which the upstream server cannot respond to a request. In these cases, NGINX can be configured to supply a document from its local disk:

server {

  error_page 500 502 503 504 /50x.html;

  location = /50x.html {

    root share/examples/nginx/html;

  }

}

Or it can also be configured from an external site:

server {

  error_page 500 http://www.example.com/maintenance.html;

}

When proxying to a set of upstream servers, you may want to define an extra upstream as being a fallback server, to handle requests when the others cannot. This is useful in scenarios when the fallback server is able to deliver a customized response based on the requested URI:

upstream app { server 127.0.0.1:9000; server ...

Get Mastering NGINX - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.