通过引用创建证书: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 中以守护进程模式启动
最佳答案
mosquitto_pub
和 mosquitto_sub
不支持基于 Websocket 的 MQTT。您不能使用它们来测试 mosquitto websocket 监听器。
第二个错误(无法启动,因为端口已被使用)很可能是因为 mosquitto 已经作为 Windows 服务运行。如果您想测试对 mosquitto.conf
文件的更改,您需要先停止该服务。
关于ssl - 为什么使用 ssl 的 MQTT Over Websocket 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52387680/