Zum Inhalt

execute: NGINX Execute-Modul

Installation

Sie können dieses Modul in jeder RHEL-basierten Distribution installieren, einschließlich, aber nicht beschränkt auf:

  • RedHat Enterprise Linux 7, 8, 9 und 10
  • CentOS 7, 8, 9
  • AlmaLinux 8, 9
  • Rocky Linux 8, 9
  • Amazon Linux 2 und 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

Aktivieren Sie das Modul, indem Sie Folgendes am Anfang von /etc/nginx/nginx.conf hinzufügen:

load_module modules/ngx_http_execute_module.so;

Dieses Dokument beschreibt nginx-module-execute v1.6.1, das am 21. Mai 2018 veröffentlicht wurde.


Einführung

Das ngx_http_execute_module wird verwendet, um Befehle remote auszuführen und Ergebnisse zurückzugeben.

Konfigurationsbeispiel:

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;
        }
    }
}

Verwendung: view-source:http://192.168.18.22/?system.run[command] Der command kann jeder Systembefehl sein. Der Befehl, den Sie verwenden möchten, hängt von den Berechtigungen ab, mit denen nginx ausgeführt wird.

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

Wenn Sie den Browser verwenden, um einen Befehl zu senden, stellen Sie sicher, dass Sie "Seitenquelltext anzeigen" verwenden, wenn Sie die formatierte Ausgabe sehen möchten. Alternativ können Sie auch einige Tools wie Postman oder Fiddler verwenden.

Die Befehle, die eine Benutzerinteraktion erfordern oder ihre Ausgabe ständig aktualisieren (z. B. top), werden nicht richtig ausgeführt, daher sollten Sie dafür keinen Fehlerbericht einreichen.

GitHub

Sie finden zusätzliche Konfigurationstipps und Dokumentationen für dieses Modul im GitHub-Repository für nginx-module-execute.