在家庭服务器上设置 Mosquitto

Aru*_*ran 1 mqtt mosquitto

我正在努力通过路由器将我在 Centos7 家庭服务器上设置的 Mosquitto 暴露给外部互联网。

Mosquitto 在我的本地主机上运行良好,并在家庭服务器上发布 1883。我能够发布/订阅,并且它正在侦听端口为 127.0.0.1:1883 (tcp)

我的家用路由器有一个动态 IP(目前),比如 76.43.150.206。在路由器上,我将 1883 作为内部/外部端口转发到我的家庭服务器,比如 192.168.1.100。

在 mosquitto.conf 文件中,我只有一行“listener 1883 76.43.150.206”。

当我尝试在外部计算机上使用 python 客户端作为 mqttc.connect("76.43.150.206", 1883) 发布/订阅时,它说连接被拒绝。

关于我做错了什么或如何让它工作的任何提示?顺便说一句,我对这个设置的理解是非常基本的,而且我几乎一直在写博客。

Tri*_*hwa 5

以下是它的工作原理:

1.) 将 mosquitto.conf 设置为

listener 1883 0.0.0.0
#cafile <path to ca file>
#certfile <path to server cert>
#keyfile <path to server key>
#require_certificate false
Run Code Online (Sandbox Code Playgroud)

0.0.0.0 将服务器绑定到所有存在的接口。

您可以取消注释代码以启用 TLS 以提高安全性。但是您必须配置客户端以使用相同的..

2.) 端口转发路由器的 1883 端口号到运行代理的机器的 IP 端口 1883。

3.) 启动代理并测试您的客户端!