Перейти к содержанию

execute: Модуль Execute для NGINX

Установка на Debian/Ubuntu

Эти документы относятся к APT пакету nginx-module-execute, предоставляемому репозиторием GetPageSpeed Extras.

  1. Настройте APT репозиторий, как описано в настройке APT репозитория.
  2. Установите модуль:
sudo apt-get update
sudo apt-get install nginx-module-execute
Показать дистрибутивы и архитектуры
| Дистрибутив | Версия           | Компонент  | Архитектуры     |
|-------------|------------------|------------|-----------------|
| debian      | bookworm         | main       | amd64, arm64    |
| debian      | bookworm-mainline| main       | amd64, arm64    |
| debian      | trixie           | main       | amd64, arm64    |
| debian      | trixie-mainline  | main       | amd64, arm64    |
| ubuntu      | focal            | main       | amd64, arm64    |
| ubuntu      | focal-mainline   | main       | amd64, arm64    |
| ubuntu      | jammy            | main       | amd64, arm64    |
| ubuntu      | jammy-mainline   | main       | amd64, arm64    |
| ubuntu      | noble            | main       | amd64, arm64    |
| ubuntu      | noble-mainline   | main       | amd64, arm64    |

Введение

ngx_http_execute_module используется для выполнения команд удаленно и возврата результатов.

Пример конфигурации:

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

Использование: view-source:http://192.168.18.22/?system.run[command] command может быть любой системной командой. Команда, которую вы захотите использовать, зависит от разрешений, с которыми работает nginx.

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

Если вы используете браузер для отправки команды, убедитесь, что в "просмотре источника" показан отформатированный вывод. Кроме того, вы можете использовать такие инструменты, как Postman, Fiddler.

Команды, которые требуют взаимодействия с пользователем или постоянно обновляют свой вывод (например, top), не будут работать должным образом, так что не отправляйте баг-репорт по этому поводу.