uwsgi_intercept_errors

Директива `uwsgi_intercept_errors` управляет тем, перехватывает ли NGINX ошибки, возвращаемые приложениями uWSGI. — NGINX HTTP Core

uwsgi_intercept_errors
httpserverlocation
Синтаксисuwsgi_intercept_errors on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `uwsgi_intercept_errors`, когда включена (установлена в 'on'), позволяет NGINX перехватывать определённые ответные ошибки от uWSGI-сервера и обрабатывать их согласно заранее заданным правилам, вместо прямой пересылки клиенту. Обычно это включает стандартные HTTP-коды ошибок, такие как 404 и 500, что даёт возможность настраивать пользовательские страницы ошибок, логирование и другие действия при возникновении таких ответов. И наоборот, при установке в 'off' NGINX вернёт ответ uWSGI клиенту без изменений, что может привести к неудобному для пользователя отображению ошибок. Эта директива может использоваться в контекстах `http`, `server` или `location`, что делает её гибкой для нужд конкретного приложения и конфигурации развёртывания. В тех случаях, когда разработчики хотят обеспечить единообразный пользовательский опыт при ошибках со стороны бэкенда, включение этой директивы ('on') полезно — это позволяет вернуть более профессиональный и адаптированный ответ пользователям в случае ошибок, например обслуживать HTML-страницы ошибок вместо необработанных сообщений об ошибках от приложения. Параметры, принимаемые этой директивой, включают булево значение: 'on' для включения перехвата ошибок или 'off' для его отключения. Важно отметить, что эта директива применяется специально к ответам uWSGI, и контролируемое ею поведение может быть ключевым для эффективного управления ошибками, видимыми пользователям.

Пример конфига

location /myapp {
    uwsgi_pass myapp_backend;
    uwsgi_intercept_errors on;
    error_page 404 /custom_404.html;
    error_page 500 502 503 504 /custom_50x.html;
}

Если директива установлена в 'off', пользовательская обработка ошибок не будет работать, и необработанные ответы от uWSGI могут запутать пользователей.

Убедитесь, что при перехвате ошибок определены корректные страницы ошибок, чтобы не показывать стандартные страницы ошибок NGINX. При добавлении пользовательских страниц ошибок убедитесь, что они существуют и на них корректно ссылаются.