如何在两个桥接的MQTT代理之间有条件地转发消息?

时间:2015-11-23 09:28:56

标签: rabbitmq mqtt mosquitto bridge broker

我有一个位于A站的MQTT Broker(mosquitto)和另一个位于云端的经纪人(mosquitto或RabbitMQ)。为了将数据转发到云,我计划将它们与TLS-ed桥接以实现数据安全性。

  1. 在站点A,软件通过MQTT进行内部通信,我不希望将敏感数据发送到云。 (例如:主题与"用户/密码")

  2. 非敏感信息,例如"用户/年龄","用户/性别"发送到云进行统计分析。

  3. 如何在站点A配置代理以桥接并有条件地仅将某些主题/消息转发给云代理(同时保持内部消息传递)?

1 个答案:

答案 0 :(得分:1)

mosquitto中没有否定匹配或程序匹配,因此您有2个选项:

  1. 完全分离敏感数据的主题树,并使用通配符桥配置将所有非敏感数据发送到远程代理

    • 用户/年龄
    • 用户/性别
    • 安全/密码

      connection cloud
      address cloud.broker.foo
      topic user/# out
      
  2. 为您要桥接的每个主题添加单个主题桥接配置。

    connection cloud
    address cloud.broker.foo
    topic user/age out
    topic user/gender out