echo_exec

`echo_exec` 指令执行指定的命令,并可选择捕获其输出。

语法echo_exec command [options];
默认值none
上下文location, if in location
参数1-2

说明

echo_exec 指令在 NGINX Echo 模块中用于直接从 NGINX 配置文件执行 shell 命令。它接受一个或两个参数:要执行的命令,以及一个可选标志,用于决定如何处理输出。当只提供一个参数时,该指令将在 shell 环境中运行该命令。如果指定了两个参数,第一个表示命令,第二个定义输出处理选项,例如是否捕获命令输出以便进一步处理。

命令的执行发生在处理客户端请求的上下文中。这允许根据 HTTP 请求动态执行命令。命令产生的输出可以根据配置返回给客户端。该指令在需要实时获取或即时处理数据的场景中特别有用,例如执行生成配置指标或状态报告的脚本。

需要注意的是,echo_exec 指令可能带来安全风险,尤其是当命令的输入来源于用户输入时。因此,需要对输入进行严格验证。此外,由于执行 shell 命令会引入开销,NGINX 服务器的性能可能会受到影响。

配置示例

location /execute {
    echo_exec "ls -l /tmp";
}

确保您尝试运行的命令是安全的,并且不会暴露出漏洞。

在执行资源密集型命令时请注意其对性能的影响。

产生大量输出的命令可能会触及缓冲区限制。

← 返回所有指令