После обновления WB8 перестал запускаться nginx из-за upload_progress в wb-mqtt-homeui

Здравствуйте.

После обновления системы (Wiren Board 8, Debian Bullseye) перестал работать веб-интерфейс — nginx не запускается.

Ошибка при старте:
nginx: [emerg] unknown directive “upload_progress” in /usr/share/wb-mqtt-homeui/nginx/default.conf:9
nginx: configuration file /etc/nginx/nginx.conf test failed

Сейчас пакет libnginx-mod-http-uploadprogress установлен (версия 1.18.0-6.1+deb11u5), файл /usr/lib/nginx/modules/ngx_http_uploadprogress_module.so присутствует, но nginx его не загружает автоматически. Папка /etc/nginx/modules-enabled пуста.

Версия nginx:
nginx version: nginx/1.18.0 (Debian)
–modules-path=/usr/lib/nginx/modules

Содержимое /etc/nginx/nginx.conf (начало):
1 user www-data;
2 worker_processes auto;
3 pid /run/nginx.pid;
4 include /etc/nginx/modules-enabled/*.conf;
5
6 events { worker_connections 768; }

(включение modules-enabled стоит до блока events)

Содержимое /usr/share/wb-mqtt-homeui/nginx/default.conf (начало):
1 # Configuration for Wiren Board Homeui web interface

9 upload_progress fwupdate 1M;

Установленные пакеты nginx:
ii libnginx-mod-http-uploadprogress 1.18.0-6.1+deb11u5 arm64
ii nginx-extras 1.18.0-6.1+deb11u5 arm64
(и др. модули, полный вывод dpkg -l приложен ниже)

Список репозиториев:
deb Index of /debian bullseye main
deb Index of /debian bullseye-updates main
deb Index of /debian-security bullseye-security main
deb http://deb.wirenboard.com/wb8/bullseye stable main

Архитектура и ядро:
Linux wirenboard-A6LE6TKY 6.8.0-wb136 #1 SMP Thu Apr 24 05:25:49 UTC 2025 aarch64 GNU/Linux

Вопросы:

  1. Должен ли модуль uploadprogress подключаться автоматически в стандартной поставке WB8?
  2. Если да, из какого пакета устанавливается файл в /etc/nginx/modules-enabled и почему он отсутствует после обновления?
  3. Если нет — какой рекомендуемый способ корректного восстановления работы веб-интерфейса без ручного удаления директив из default.conf, чтобы изменения не слетали при следующем обновлении?

Полный вывод команд прилагаю ниже.

Спасибо.

Добрый день!

Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

приложен диагностический архив, доступен только сотрудникам поддержки
(384,6 КБ)

Добрый день!

Благодарю за архив, потребуется время для анализа.

Самое простое и быстрое решение - привести конфигурации к заводскому виду, обновившись через FIT‑файл. Перед началом сделайте резервную копию настроек:

После обновления при необходимости восстановите нужные настройки из бэкапа.

nginx-common=1.18.0-6.1+deb11u5
libnginx-mod-http-uploadprogress=1.18.0-6.1+deb11u5
nginx-extras=1.18.0-6.1+deb11u5

А /etc/nginx/modules-enabled/50-mod-http-uploadprogress.conf точно есть и не пуст?

Содержимое файла: load_module modules/ngx_http_uploadprogress_module.so; Чат джипити дал такое решение - После обновления отсутствовал файл-включатель модуля uploadprogress в /etc/nginx/modules-enabled/, из-за чего Nginx не загружал модуль и падал на директиве upload_progress из wb-mqtt-homeui. Создан симлинк: /etc/nginx/modules-enabled/50-mod-http-uploadprogress.conf
→ /usr/share/nginx/modules-available/mod-http-uploadprogress.conf. После этого nginx запустился. Это корректное решение?

Добрый день!

Технически, да — так можно сделать, тем более что заработало.
При следующем обновлении через FIT-файл системный конфиг будет сброшен и восстановится в штатном виде.

1 лайк

Да, я про это и спрашивал. Вполне нормальное в соответствии с принятой архитектурой конфигов.