execute: Módulo Execute do NGINX
Instalação
Você pode instalar este módulo em qualquer distribuição baseada em RHEL, incluindo, mas não se limitando a:
- RedHat Enterprise Linux 7, 8, 9 e 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 e 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
Habilite o módulo adicionando o seguinte no topo de /etc/nginx/nginx.conf:
load_module modules/ngx_http_execute_module.so;
Este documento descreve o nginx-module-execute v1.6.1 lançado em 21 de maio de 2018.
Introdução
O ngx_http_execute_module é usado para executar comandos remotamente e retornar resultados.
Exemplo de configuração:
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]
O command pode ser qualquer comando do sistema. O comando que você desejar usar depende das permissões com as quais o nginx é executado.
view-source:http://192.168.18.22/?system.run[ifconfig]
Se estiver usando o navegador para enviar o comando, certifique-se de usar "ver fonte" se quiser ver a saída formatada. Alternativamente, você também pode usar algumas ferramentas como Postman, Fiddler.
Os comandos que requerem interação do usuário ou que atualizam constantemente sua saída (por exemplo, top) não funcionarão corretamente, então não registre um bug para isso.
GitHub
Você pode encontrar dicas adicionais de configuração e documentação para este módulo no repositório do GitHub para nginx-module-execute.