首页 > 解决方案 > 为什么使用 ssl 的 MQTT Over Websocket 不起作用

问题描述

通过参考创建证书:http: //www.steves-internet-guide.com/mosquitto-tls/#comment-1363,并在mosquitto配置文件中应用以下设置:

listener 8883
protocol websockets 
cafile C:\Program Files(x86)\mosquitto\certs\ca.crt 
certfile C:\Program Files (x86)\mosquitto\certs\server.crt 
keyfile C:\Program Files (x86)\mosquitto\certs\server.key

并尝试从以下命令发布消息:

mosquitto_pub -h mdcc -p 8883  -m "1" -t TrainA-Extruder/Bompos -d --cafile C:\Program~Files~(x86)\mosquitto\certs\ca.crt --cert C:\Program~Files~(x86)\mosquitto\certs\srvserver.crt --key C:\Program~Files~(x86)\mosquitto\certs\server.key --insecure

错误

出现错误:设置 TLS 选项的问题尝试了另一个命令并出现错误:

错误

无法在 Windows 中以守护程序模式启动

标签: sslmqtt

解决方案


mosquitto_pub并且mosquitto_sub不支持基于 Websockets 的 MQTT。您不能使用它们来测试 mosquitto websocket 侦听器。

第二个错误(无法启动,因为端口已在使用中)很可能是因为 mosquitto 已经作为 Windows 服务运行。如果您想测试对mosquitto.conf文件的更改,您需要先停止服务。


推荐阅读