scgi_intercept_errors
`scgi_intercept_errors` 指令使 NGINX 能够拦截由 SCGI 服务器生成的错误,从而允许自定义错误处理。 — NGINX HTTP Core
scgi_intercept_errors
httpserverlocation
语法scgi_intercept_errors on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
`scgi_intercept_errors` 指令用于确定 NGINX 在处理客户端请求时是否应拦截 SCGI 服务器返回的错误响应。当设置为 'on' 时,NGINX 会在内部处理这些错误,并根据其他相关指令(如 `error_page`)的定义,返回适当的错误页面或自定义错误处理逻辑。 从行为上看,将此指令设置为 'off' 会使 NGINX 直接将错误响应原样传回客户端而不作修改。这在希望直接返回来自 SCGI 应用的原始错误信息(例如在调试环境中)时特别有用。相反,启用该指令可以通过提供更友好的错误提示来改善用户体验,并确保特定的错误代码会触发在 NGINX server 块中配置的指定错误响应。该指令与 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` 指令在拦截错误时可能导致意外结果。