如何有条件地在两个桥接 MQTT 代理之间转发消息?
How to conditionally forward messages between two bridged MQTT broker?
我在站点 A 有一个 MQTT Broker (mosquitto),在云端有另一个代理(mosquitto 或 RabbitMQ)。为了将数据转发到云端,我计划将它们桥接起来并使用 TLS 来确保数据安全。
在站点 A,软件通过 MQTT 进行内部通信,我不希望将敏感数据发送到云端。 (例如:带有 "user/password" 的主题)
"user/age"、"user/gender"等非敏感信息发送到云端进行统计分析。
如何将站点 A 的代理配置为桥接并有条件地仅将某些 topic/message 转发到云代理(同时保持内部消息传递)?
mosquitto 中没有否定匹配或编程匹配,因此您有 2 个选项:
完全分离敏感数据的主题树,并使用通配符桥接配置将所有非敏感数据发送到远程代理
- user/age
- user/gender
security/password
connection cloud
address cloud.broker.foo
topic user/# out
为您希望桥接的每个主题添加单独的主题桥接配置。
connection cloud
address cloud.broker.foo
topic user/age out
topic user/gender out
我在站点 A 有一个 MQTT Broker (mosquitto),在云端有另一个代理(mosquitto 或 RabbitMQ)。为了将数据转发到云端,我计划将它们桥接起来并使用 TLS 来确保数据安全。
在站点 A,软件通过 MQTT 进行内部通信,我不希望将敏感数据发送到云端。 (例如:带有 "user/password" 的主题)
"user/age"、"user/gender"等非敏感信息发送到云端进行统计分析。
如何将站点 A 的代理配置为桥接并有条件地仅将某些 topic/message 转发到云代理(同时保持内部消息传递)?
mosquitto 中没有否定匹配或编程匹配,因此您有 2 个选项:
完全分离敏感数据的主题树,并使用通配符桥接配置将所有非敏感数据发送到远程代理
- user/age
- user/gender
security/password
connection cloud address cloud.broker.foo topic user/# out
为您希望桥接的每个主题添加单独的主题桥接配置。
connection cloud address cloud.broker.foo topic user/age out topic user/gender out