cgi_pass

NGINX 中的 `cgi_pass` 指令将请求传递给 CGI 脚本进行处理。

语法cgi_pass path;
默认值none
上下文server, location
参数1+

说明

cgi_pass 指令是 NGINX 中 CGI 支持模块的一部分,允许将 Web 服务器的请求由外部 CGI 程序处理。该指令可在 serverlocation 上下文中使用,用于定义将处理特定请求 URI 的脚本或程序路径。当请求匹配到定义了 cgi_pass 的 location 时,NGINX 会准备请求参数并调用 CGI 脚本。环境变量和请求头会传递给该脚本,脚本可以生成动态内容或对客户端的请求执行相应操作。

cgi_pass 指令接受一个或多个参数,通常表示脚本的路径或要处理的 URI。在需要将现有 CGI 脚本集成到 NGINX 工作流中的场景下,此功能特别有用。它支持关于工作目录、要使用的解释器以及如何处理请求主体的可配置选项。CGI 进程的行为通过各种配置选项进行控制,包括设置超时、管理 stderr 输出,以及定义要传递给脚本的自定义扩展变量。

配置示例

location /cgi-bin/ {
    cgi_pass /path/to/cgi-bin/script.sh;
}

确保 CGI 脚本是可执行的并且已正确配置。

不正确的文件路径可能导致 404 错误或功能中断。

应对 CGI 脚本进行性能优化,以避免请求处理中的高延迟问题。

← 返回所有指令