cgi_pass
NGINX 中的 `cgi_pass` 指令将请求传递给 CGI 脚本进行处理。
CGI support for NGINX
·
serverlocation
语法cgi_pass path;
默认值none
上下文server, location
参数1+
说明
cgi_pass 指令是 NGINX 中 CGI 支持模块的一部分,允许将 Web 服务器的请求由外部 CGI 程序处理。该指令可在 server 或 location 上下文中使用,用于定义将处理特定请求 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 脚本进行性能优化,以避免请求处理中的高延迟问题。