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 127.0.0.1:9001; server 127.0.0.1:9002; } server { location / { error_page 500 502 503 504 = @fallback; proxy_pass http://app; } location @fallback { proxy_pass http://127.0.0.1:8080; } }
The =
...