带SSL的MQTT Bridge

时间:2017-12-17 06:38:06

标签: ssl mqtt mosquitto bridge

我有一个内部MQTT经纪人。它运行良好,目前正在运行,没有用户名/密码或SSL。

我想连接一个面向外部的MQTT代理,并在它们之间建立一个桥接器,并让面向外部的MQTT将其收到的任何主题重新发布回内部MQTT服务器。

设置了面向外部的代理,我可以使用MQTT.fx连接它,使用其外部域名,端口8883和用户名密码没有问题,在MQTT.fx上启用SSL / TLS

我已将以下内容添加到我的内部MQTT(mosquitto.conf文件)

#connection ha
connection bridge-01
address XXX.XXXXXXX.XXX:8883
username user01
password pw01
try_private false
topic # out 0
topic # in 0

其中XXX.XXXXX.XX是我的FQDN。

但是,当我启动内部MQTT代理时,日志文件中会出现以下内容

1513491425: Connecting bridge bridge-01 (XXXX.XXXXXX.XXX:8883)
1513491425: Socket error on client MQTT-PI.bridge-01, disconnecting.

外部经纪人显示

1513511621: Client connection from 192.168.0.1 failed: error:140260FC:SSL routines:ACCEPT_SR_CLNT_HELLO:unknown protocol.

该日志条目中的IP地址来自我的路由器。 没有重新发布。我不知道为什么它不能连接。

内部MQTT是在rp3上运行的mosquitto,而面向外部的代理是在Home Assistant HASSIO上运行的mosquitto

1 个答案:

答案 0 :(得分:0)

您需要在内部配置文件顺序中指定bridge_capathbridge_cafile,以告知代理桥接连接是SSL连接。

请参见手册页的以下部分:https://mosquitto.org/man/mosquitto-conf-5.html#idm45942561288336