uwsgi_intercept_errors

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

Синтаксисuwsgi_intercept_errors on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументы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. При добавлении пользовательских страниц ошибок убедитесь, что они существуют и на них корректно ссылаются.

← Ко всем директивам