Не удалось загрузить настройки WebUI

Доброго дня!

Ранее настраивая бриджи, установил на MQTT брокер пароль, этот же логин и пароль прописывается в разделе “Настройки - Веб интерфейс

Соответственно при смене пользователя и открывания панели управления и чистке кешей/куки браузера, настройки не сохраняются.

Итого отрываем страницу контроллера в инкогнито и снова у нас нет сохраненных настроек для подключения к брокеру, от чего из под любого из пользователей, будь то “Пользователь/Оператор/Администратор” ничего не работает, пока панель не может собрать данные с локального MQTT.

Не удалось загрузить настройки WebUI.: MQTT client is not connected MqttConnectionError

  1. Можно ли это как то исправить?
  2. Можно ли запаролить доступы к пользователям “оператор/администратор”?

Хотелось бы смотреть панель не вводя логин и пароль из под пользователя, а все остальное защитить паролем.

Нашел информацию на счет паролей только путем настройки ngnix, будет ли исправлено в будущем?

Добрый день.

Этого не нужно делать вообще. Соединения с localhost по ws (18883 порт) должно быть анонимным.

Да, верно. Настройки хранятся именно в браузере.

Да, можно. Или доработкой интерфейса или дождаться когда появится в продакшене, подобное в проекте.

Сейчас в работе. Срок не назову - не знаю. Возможно после релиза 2507 будет в testing.

Делал по инструкции из документации

Вот содержимое /etc/mosquitto/conf.d/10listeners.conf

listener 1883
allow_anonymous false
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

listener 18883
protocol websockets
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

По идее должно работать все.
Хотя возможно последнюю строку надо закоментировать в блоке с 18883

Так понимаю уже ранее подобная тема поднималась?
Хотя в целом если это не быстрый процесс, то готовы подождать официальную реализацию.

acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

Если закоментить эти строчки, то работает, единственное не очень понял, дефолтный ACL стоит убирать? Или лучше для внешних подключений создать отдельный, а дефолтный вернуть к изначальному виду?

Обратите внимание в базе:

# Changed to localhost-only for security reasons for now

listener 18883 lo
protocol websockets
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

То есть принимает только с localhost.
Можно не убирать, “allow_anonymous true” разрешает соединения без пароля

Как раз в таком ключе оно и не работает, пока не комментирую две последние строчки.

1883 для внешних подключений, 18883 для внутренних, но так понимаю

allow_anonymous true

игнорируется и на 18883 подключение все равно приходит с логином и паролем из файлов

acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf

Нет, как раз не на 18883 обращения из web-интерфейса должны идти а на 80 порт. Они уже в nginx проксируются на 18883.
То есть - браузер обращается только и исключительно на 80 порт.

Прошу прощения, да проксируется, в целом комментирование последних двух строчек можно решать решением или это какой то глюк с allow_anonymous true?

Да, можно комментировать, конечно.
Но обязательно

listener 18883 lo