Что не так с веб интерфейсом вайрена при подключении через облако? В разделе Веб интерфейс в поле подключения к MQTT брокеру подставляется урл удаленного соединения и порт 443. Соответственно такое подключение не удается. Где получить справку?
Добрый день.
Да так и должно быть.
Проверьте пожалуйста в браузере - есть ли обмен по вебсокету?
Ну и вижу что вы изменили в /etc/mosquitto/conf.d/10listeners.conf настройки слушателя. Так как запретили анонимные соединения – то укажите сконфигурированные логин и пароль для подключения.
С паролем все делал по инструкции со страницы MQTT в контроллерах Wiren Board — Wiren Board
Установка пароля на MQTT брокер
Установить пароль на MQTT-брокер можно следующим образом.
- Добавьте нового пользователя в файл конфигурации, выполнив команду:
mosquitto_passwd -c /etc/mosquitto/passwd/default.conf username
Вместо username можно указать произвольное имя пользователя.
После ввода команды появится запрос на ввод пароля, который нужно будет ввести два раза.
- Далее в файле
/etc/mosquitto/conf.d/10listeners.conf
установите параметрallow_anonymous false
(по умолчанию true).
Изменить файл можно открыв его в текстовом редакторе, например, nano:
nano /etc/mosquitto/conf.d/10listeners.conf
- В файле
/etc/mosquitto/acl/default.conf
добавьте следующую запись:
user username topic readwrite # topic readwrite $SYS/#
где, username — имя пользователя, заданное на первом шаге.
Открыть файл для редактирования:
nano /etc/mosquitto/acl/default.conf
- Перезапустите mosquitto командой:
systemctl restart mosquitto
Прикладываю скрин с настройкой файла.
В итоге не совсем понятно почему вы еще и пароль советуете вставить и куда?
По обмену через вебсокет есть движение…
Итак, вы сконфигурировали доступ к WS брокера с паролем. Причем анонимный выключили и для локальных подключений.
В настройки подключенния веб-интерфейса.
А что именно там? Отказ в доступе?
Вот это сильно помогло. Все работает.
Просьба подсказать правильность догадки. Если оставить облачное подключение и отключить локальное, то это даст безопасность веб интерфейса без настройки аутентификации через локальный веб сервер.
А так же не понятен механизм выхода из сессии облачного доступа.
Да, верно.
То есть слушателю с localhost – авторизация не нужна, сторонние пакеты там появится не смогут (ну если специально не настраивать).
Например
listener localhost:18883
protocol websockets
allow_anonymous true
acl_file /etc/mosquitto/acl/default.conf
password_file /etc/mosquitto/passwd/default.conf
Ну и соединения который могли бы быть (и будут) через proxy настроенный в nginx, 80->18883 возможны только после авторизации.