Максим, а можно немного подробней про proxy_intercept_errors с
примером? Из документации не совсем все понятно.
Директива proxy_intercept_errors позволяет перехватывать 4xx, 5xx
ошибки, возвращённые бекендом, и выдавать вместо них то, что
задано с помощью директивы error_page.
Пример:
     location / {
         proxy_pass http://backend;
         proxy_intercept_errors on;
         error_page 404 /404.html;
     }
     location = /404.html {
         # serve static file here
     }
Если бекенд ответит 404, то клиенту уйдёт ответ 404 с телом из
/404.html (а не то, что прислал бекенд).
Если бэкенд сдулся окончательно, то что от него можно требовать?
Если бекенд сдулся окончательно - то proxy_intercept_errors роли
не играет.  Он имеет смысл только в том случае, если бекенд ещё
способен вернуть ответ.