scgi_intercept_errors

Директива `scgi_intercept_errors` позволяет NGINX перехватывать ошибки, генерируемые SCGI-серверами, что даёт возможность реализовать пользовательскую обработку ошибок.

Синтаксисscgi_intercept_errors on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива scgi_intercept_errors определяет, должен ли NGINX перехватывать ответные сообщения об ошибках, возвращаемые SCGI-серверами при обработке клиентских запросов. При установке в 'on' это позволяет NGINX обрабатывать ошибки внутри и отвечать соответствующей страницей ошибки или собственной логикой обработки ошибок, как это задаётся другими связанными директивами, например error_page.

С точки зрения поведения, установка этой директивы в 'off' позволит NGINX передавать ответы об ошибках напрямую клиенту без изменений. Это особенно полезно в сценариях, где требуется возвращать сырые сообщения об ошибках из SCGI-приложения, например в отладочных средах. Напротив, включение перехвата может улучшить взаимодействие с пользователем, предоставляя более удобные сообщения об ошибках и обеспечивая, что определённые коды ошибок вызовут назначенные ответы об ошибках, как настроено в блоках сервера NGINX. Эта директива работает в сочетании с конфигурацией обработки SCGI и важна для контроля потока информации об ошибках от бэкенд-приложений к клиентам.

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

location /scgi {
    include scgi_params;
    scgi_pass 127.0.0.1:9000;
    scgi_intercept_errors on;
    error_page 404 /404.html;
}

Убедитесь, что вы определили директивы error_page для обработки ошибок, когда эта директива установлена в 'on'.

Неправильная конфигурация связанных директив error_page может привести к непредвиденным результатам при перехвате ошибок.

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