我在云中有一个虚拟机,在 Azure 上运行 Ubuntu (v20.04),并安装了 Mosquitto MQTT 代理 (v1.6.9)。我可以成功 ssh 进入虚拟机,并使用两个实例来发布和订阅数据,所以我相信 Mosquitto 配置没问题。我拥有虚拟机的完整 sudo 权限,但没有设置它,对此了解有限。
问题 - 我需要在虚拟机上做什么才能允许外部访问? (无需 ssh 进入虚拟机),即如何让虚拟机中的代理监听远程设备?
到目前为止,我已经打开了端口 1883,允许 ufc 进行 tcp 流量,但这似乎只适用于本地主机;从VM内部运行nmap,我得到“22/tcp mqtt open”用于本地主机(127.0.0.1),并使用VM的IP地址从外部运行nmap,我得到“22/tcp open for ssh”,但仅此而已。我期待看到类似 1883/tcp open for mqtt 的内容。
最佳答案
这里最可能的问题是 Azure 有自己的防火墙以及 ufw。
您需要在 Azure 控制台中查找安全组
关于azure - MQTT 代理到外界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75822652/