Mosquitto на Home Assistant: мост к удаленному брокеру MQTT с использованием сертификата сервера, подписанного CA - PullRequest
0 голосов
/ 18 июня 2020

Как можно настроить Mosquitto (версию, интегрированную в Home Assistant) для подключения в качестве моста к удаленному брокеру, используя только параметр «Сертификат сервера, подписанный CA» (например, MQTT.fx) с сертификатом Let's encrypt?

Например, http://mqttfx.jensd.de/ имеет этот параметр в настройках подключения, и подключение к брокеру работает нормально:

enter image description here

Конфигурация выглядит так:

connection bridge-01
 log_type all
 require_certificate false
 cleansession true
 try_private true
 bridge_protocol_version mqttv311
 bridge_insecure false
 bridge_cafile /etc/ssl/letsencrypt.crt
 address mycompany.com:8883
 remote_clientdid raspi_test
 remote_username raspi
 remote_password password
 topic # out 0

Как подсказки:

  • Добавление сертификата Let's Encrypt root или сертификата Let's Encrypt Authority X3 (https://letsencrypt.org/certificates/), поскольку bridge_cafile не работает с certificate validation error или с socket error on client raspi.local....
  • Домашний помощник запускается на Raspberry Pi 4 (просто для полноты)
  • Версия брокера Mqtt Mosquitto 5.1 (плагин Home Assistant)
  • Подключение (клиент, имя пользователя и пароль) в порядке, работает с MQTT.fx

1 Ответ

0 голосов
/ 18 июня 2020

Использование bridge_capath /etc/ssl/certs/ вместо bridge_cafile /etc/ssl/letsencrypt.crt сработало у нас.

Уже есть много предустановленных доверенных сертификатов и добавленных (Let's Encrypt root certificate или Let's Encrypt Authority X3 certificate ) в папке.

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

...