Saltar a contenido

execute: Módulo Execute de NGINX

Instalación

Puedes instalar este módulo en cualquier distribución basada en RHEL, incluyendo, pero no limitado a:

  • RedHat Enterprise Linux 7, 8, 9 y 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 y Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-execute
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-execute

Habilita el módulo añadiendo lo siguiente en la parte superior de /etc/nginx/nginx.conf:

load_module modules/ngx_http_execute_module.so;

Este documento describe nginx-module-execute v1.6.1 lanzado el 21 de mayo de 2018.


Introducción

El ngx_http_execute_module se utiliza para ejecutar comandos de forma remota y devolver resultados.

Ejemplo de configuración:

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
            command on;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

Uso: view-source:http://192.168.18.22/?system.run[command] El command puede ser cualquier comando del sistema. El comando que desees usar depende de los permisos con los que se ejecute nginx.

view-source:http://192.168.18.22/?system.run[ifconfig]

Si usas un navegador para enviar el comando, asegúrate de usar "ver fuente" si deseas ver la salida formateada. Alternativamente, también puedes usar algunas herramientas como Postman, Fiddler.

Los comandos que requieren interacción del usuario o que actualizan constantemente su salida (por ejemplo, top) no se ejecutarán correctamente, así que no presentes un error por esto.

GitHub

Puedes encontrar consejos de configuración adicionales y documentación para este módulo en el repositorio de GitHub para nginx-module-execute.