fastcgi_intercept_errors
指令 `fastcgi_intercept_errors` 将 NGINX 配置为拦截来自 FastCGI 响应的错误,以便进行自定义错误处理。 — NGINX HTTP Core
fastcgi_intercept_errors
httpserverlocation
语法fastcgi_intercept_errors on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
`fastcgi_intercept_errors` 指令通过控制 NGINX 如何处理 FastCGI 服务器返回的任何错误(例如 4xx 或 5xx HTTP 状态码)来与 FastCGI 协同工作。 当设置为 'on' 时,NGINX 会捕获这些错误响应,允许你定义自定义错误页面或执行额外处理,而不是直接将原始 FastCGI 错误响应返回给客户端。这在希望显示用户友好的错误信息或实现特定错误恢复机制的场景中特别有用。 该指令接受一个布尔标志作为参数,可以是 'on' 或 'off'。当为 'on' 时,来自 FastCGI 服务器的任何错误响应(例如状态码在 400 或 500 范围内的响应)可以由在 NGINX 配置中定义的特定错误页面配置处理。设置为 'off' 时,默认行为允许 NGINX 原样返回 FastCGI 响应,包括任何错误消息。该指令可以在 'http'、'server' 或 'location' 上下文中使用,根据所需的错误处理范围提供灵活的放置位置。
配置示例
location /app {
fastcgi_pass backend;
fastcgi_intercept_errors on;
fastcgi_index index.php;
include fastcgi_params;
}⚠
在拦截错误时请记得定义自定义错误页面,否则用户可能会收到空内容或默认错误消息。
⚠
此指令不影响非 FastCGI 响应;如适用,请确保为不同类型的后端配置其他错误处理。