MQTT服务器连接不上的问题
问题描述
环境:阿里云服务器Ubuntu 22.04.3 LTS
,安装mosquitto后,在虚拟机端订阅消息出现报错(以前用阿里云Ubuntu20.04 LTS
的服务器装上就能用),以下服务器ip是我乱填的
mosquitto_sub -t /iotstuff -h 129.25.125.124 -p 1883
Error: Connection refused
解决办法
云服务器ECS -> 安全组 -> 安全组详情,看看有没有添加1883端口为白名单,出方向
和入方向
都要配置
查看服务器的端口占用情况
netstat -lnpt
发现moquitto侦听的ip是127.0.0.1:1883
,其中127.0.0.1代表的是本地的局域网ip,如果想要在公网访问是不行的,打开mosquitto.conf文件,设置允许公网访问
listener 1883
允许客户端不需要用户名和密码进行访问
allow_anonymous true
重启mosquitto服务后发现虚拟机端订阅消息就能连上
service mosquitto restart
如果还是连不上,check一下系统防火墙状态
ufw status # 查看防火墙状态
ufw add 1883 # 添加1883端口到白名单