【问题标题】:MQTT into Public Url LinkMQTT 到公共 URL 链接
【发布时间】:2019-08-17 16:41:59
【问题描述】:

我有 ip 的 mqtt 代理

mqtt://xxx.xxx.xxx.xxx:8888/

我有一个网站

http://mywebsite.com/

现在,我想做这样的

mqtt://mywebsite.com:8888/

如果是这样还是可以的:

mqtt://iot.publicwebsite.com:8888/ FORWARDFROM-> http://localhost:8888/
OR
mqtt://iot.publicwebsite.com:8888/ FORWARDFROM-> http://xxx.xxx.xxx.xxx:8888/

【问题讨论】:

  • 你是指原生 MQTT 还是 MQTT over websockets?
  • 感谢您的回复,我目前正在建立自己的IOT/MQTT网站。例如 iot.eclipse 或 iot.ubidots。那么,我应该通过哪种方式?我的本地网络中已经有 mqtt,并且可以通过本地网络访问任何地方。我希望它可以向公众开放。
  • 你应该知道你是如何配置你的代理的
  • 我找到了这个,但我看到一些 cmets 已被删除。我找不到我的解决方案。 iot.stackexchange.com/questions/2021/…

标签: web iis mqtt iot broker


【解决方案1】:

根据您是使用 Native MQTT 还是 MQTT over Websockers,您有 2 个选择

  1. 在面向公众的机器上设置端口转发。这意味着将防火墙配置为接收到达端口 8888 的任何流量并将其转发到代理机器,并对任何响应流量执行相反的操作。假设您在 Windows 上,那么您将使用 netsh 命令。有关详细信息,请参阅此question。这应该适用于 Native MQTT 和 MQTT over Websockets。如果您已经在使用从路由器到运行 ISS 的机器的端口转发,那么您需要设置到路由器中代理的端口转发,而不是 Windows 机器。

  2. 如果您在 Websockets 上使用 MQTT,那么您可以将 ISS 配置为充当反向代理。这个question 解释了如何做到这一点。

【讨论】:

  • 对于没有 1,如果它是相关的/工作的,如果它在同一个/本地网络中。如果没有局域网,它就无法工作。对于 no 2 ,它使用 (localhost) 含义,因为它是内部网络。为了清楚起见,我有一个通过 wifi 连接到互联网的硬件,而且距离很远。我的 iot/mqtt 服务器/代理没有内部网络。我希望我的硬件可以将数据发送到实时 mqtt 或 ws 协议。这样,我需要让我的内部事物向公众开放。因此,每个人都可以从远处访问它。例如 iot.ubidots.com。这是一种类似于 vpn 的方式,用于从远处访问内部/本地网络,而不是 LAN
  • 对不起,我真的一点都不懂
  • 好吧,这不再是 m2m 的事情了。这是关于一个 mqtt 网络的,我对这门课程真的很失望。我做不到。卡在网络上
  • 非常感谢@hardillb 解决了我的问题 :)
猜你喜欢
  • 2015-12-18
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2011-01-25
  • 2018-12-28
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
相关资源
最近更新 更多