scgi_intercept_errors
Директива `scgi_intercept_errors` позволяет NGINX перехватывать ошибки, генерируемые SCGI-серверами, что даёт возможность реализовать пользовательскую обработку ошибок. — NGINX HTTP Core
Описание
Директива `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` может привести к непредвиденным результатам при перехвате ошибок.