在家庭服务器上设置Mosquitto

时间:2017-07-22 23:07:07

标签: mqtt mosquitto

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

Mosquitto在我的本地主机上运行正常,并在主页服务器上发布1883。我可以发布/ sub,它正在端口上监听为127.0.0.1:1883(tcp)

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

在mosquitto.conf文件中,我只有一行"听众1883 76.43.150.206"。

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

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

2 个答案:

答案 0 :(得分:1)

您不应将外部地址放入mosquitto配置文件中。

你可能根本就没有listen行,因为mosquitto将绑定到它使用默认端口运行的机器上的所有可用IP地址(1883)。

如果你真的必须使用listen指令(例如,为了设置SSL),那么它应该配置运行代理的机器的内部IP地址,在这种情况下192.168.1.100和使用不同的端口号,因此它不会与默认的

冲突
listen 1884 192.168.1.100

答案 1 :(得分:1)

以下是它的工作原理:

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
  

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

     

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

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

3。)启动经纪人并测试您的客户!