Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Nginx Error: stub_status module: access denied from client IP Linux / DevOps

Nginx: stub_status module: access denied — Настройка Prometheus / Zabbix

Обновлено: 18.08.2026  ·  Официальная база знаний

Система мониторинга (Prometheus Nginx Exporter, Zabbix Agent, Datadog, Telegraf) не может собрать метрики производительности веб-сервера, получая ошибку 403 Forbidden. В логе error.log регистрируется блокировка доступа к служебному location: access forbidden by rule, client: 10.0.5.120, server: localhost, request: "GET /nginx_status HTTP/1.1".

Элемент конфигурацииТекущее состояниеТребуемое действие
stub_status;Активирован в location /basic_statusМодуль встроен и готов отдавать метрики
Директива allowРазрешен только 127.0.0.1IP-адрес агента мониторинга отсутствует в белом списке
Директива deny all;Блокирует неавторизованные IPСрабатывает ограничение модуля доступа
  • Дашборды мониторинга отображают отсутствие данных (No Data / Down) по активным соединениям и RPS веб-сервера.
  • Прямой опрос с локалхоста через curl http://127.0.0.1/nginx_status может работать, но сетевой опрос с сервера метрик блокируется.
  1. Найдите конфигурационный файл с объявлением эндпоинта метрик:
    grep -rn "stub_status" /etc/nginx/
  2. Добавьте IP-адрес вашего сервера сбора метрик (Prometheus/Zabbix) или локальную подсеть мониторинга перед правилом deny all;:
    location /nginx_status {
        stub_status on;
        access_log off;
        
        # Разрешенные доверенные адреса:
        allow 127.0.0.1;
        allow ::1;
        allow 10.0.0.0/8;       # Внутренняя VPC подсеть
        allow 192.168.1.50;     # IP сервера Prometheus
        
        # Запретить доступ всем остальным:
        deny all;
    }
  3. Если сбор метрик вынесен на отдельный внутренний сервисный порт (Best Practice):
    server {
        listen 127.0.0.1:8080;
        listen 10.0.5.10:8080;
        server_name _;
    
        location /stub_status {
            stub_status;
            access_log off;
            allow 10.0.0.0/8;
            deny all;
        }
    }
  4. Проверьте файл конфигурации и примените настройки:
    sudo nginx -t
    sudo systemctl reload nginx
  5. Проверьте получение метрик утилитой curl:
    curl -s http://127.0.0.1:8080/stub_status
Безопасность метрик: Никогда не открывайте доступ к stub_status для публичного интернета (allow all;). Метрики отображают текущий объем трафика, число ожидающих запросов и паттерны активности, что помогает злоумышленникам координировать DDoS-атаки.
Практический опыт инженера: В Kubernetes используйте sidecar-контейнер `nginx-prometheus-exporter`, подключающийся к `http://127.0.0.1:8080/stub_status` локально внутри пода.

Частые вопросы (FAQ)

Какие метрики отдает модуль stub_status?

Модуль возвращает 7 базовых счетчиков: Active connections (активные соединения), accepts (принятые), handled (обработанные), requests (всего запросов), Reading (чтение заголовков), Writing (отправка ответа) и Waiting (keep-alive соединения).

Как проверить, собран ли Nginx с поддержкой stub_status?

Выполните команду nginx -V 2>&1 | grep -o with-http_stub_status_module. Если строка присутствует, модуль скомпилирован и доступен.

В чем разница между accepts и handled?

Параметры могут различаться, если было достигнуто ресурсное ограничение (например, сработал worker_connections limit) — в этом случае часть принятых (accepts) соединений не была обработана (handled).

Почему access_log off рекомендуется для эндпоинта stub_status?

Агенты мониторинга опрашивают эндпоинт каждые несколько секунд, что приводит к быстрому разрастанию файлов access.log мусорными записями.