在通过 mosquitto 使用 Websockets 上的 MQTT 作为代理时,我如何限制与一组特定来源的连接?

While using MQTT over Websockets via mosquitto as a a broker, how do I limit connections to a particular set of origins?

我设置了一个 mosquitto mqtt 代理服务器,并且设置正常运行。

然而,问题是任何来源目前都可以通过 websockets 连接到我的实例,这会导致安全问题。

如何将其限制为一组来源?我在文档中找不到与此相关的任何内容。

这与原生 MQTT 没有什么不同。

您有 3 个选项:

  1. 启用身份验证并设置 ACL,以便只有经过身份验证的客户端才能连接(设置 allow_anonymous false 并设置密码文件或在配置文件中添加身份验证插件)

  2. 设置防火墙以断开来自未知主机的连接

编辑

  1. 使用 nginx 来代理 mosquitto,并在升级前使用它来执行源规则。 (我还没有尝试过,但应该可以)