Mosquitto的配置


Eclipse Mosquitto 是一个mqtt的代理服务器。

配置协议

现有场景是,服务器端和浏览器端都要连接到mqtt代理,并使用mqtt协议通信。

服务器端使用mqtt协议即可正常连接,但浏览器不支持mqtt协议。所以需要mqtt代理配置websocket协议,来兼容浏览器的连接。

mqtt协议配置

mosquitto.conf

listener 1883 0.0.0.0
protocol mqtt

websocket协议配置

mosquitto.conf

listener 1884 0.0.0.0
protocol websockets

安全的websocket协议配置(websocket over TLS)

mosquitto.conf

listener 1885 0.0.0.0
protocol websockets
cafile /mosquitto/cert/xxx_chain.crt
certfile /mosquitto/cert/xxx_public.crt
keyfile /mosquitto/cert/xxx.key

可以同时配置多个listener,以实现多个端口/协议协作。

如果要将不同的用户端隔离开来,mount_point是额外需要配置的参数。

配置用户

mosquitto.conf

# 关闭匿名模式
allow_anonymous false
# 指定密码文件
password_file /mosquitto/config/pwfile.conf

新建密码存储文件

touch /mqtt-mosquitto/config/pwfile.conf

修改文件夹权限

chmod -R 755 /data/mqtt-mosquitto

启动后,使用mosquitto_passwd命令来操作用户

# 新增/修改用户。对同一个用户名,多次使用,就是修改密码
mosquitto_passwd -b /mosquitto/config/pwfile.conf username password

# 删除用户
mosquitto_passwd -D  username

总结

  • Mosquitto支持的协议
    • 支持mqtt原生协议
    • 支持websocket协议(ws)
    • 支持TLS的websocket协议(wss)
  • Mosquitto可以同时开放多个端口/协议连接相同/不同的隔离空间
  • 建议配置用户名密码来连接代理,更安全

参考

http://mosquitto.org/man/mosquitto-conf-5.html


文章作者: lcok
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 lcok !
打赏
  目录