ssl - 为什么使用 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 中以守护程序模式启动
解决方案
mosquitto_pub
并且mosquitto_sub
不支持基于 Websockets 的 MQTT。您不能使用它们来测试 mosquitto websocket 侦听器。
第二个错误(无法启动,因为端口已在使用中)很可能是因为 mosquitto 已经作为 Windows 服务运行。如果您想测试对mosquitto.conf
文件的更改,您需要先停止服务。
推荐阅读
- pine-script - 松脚本如何隐藏以前的情节
- git - 如何提交重新格式化,以使 IDE 中的旧提交消息保持不变?
- docker - 在 Actions 中构建人工制品时如何使用 docker 图像?
- integration-testing - 用于集成测试和冒烟测试的黄瓜
- angular - 为 mat-datepicker 全局设置语言
- java - Maven:如何解决外国进口问题?(在 Azure 函数中)
- python-3.x - 向具有大量数据的现有表添加唯一约束
- shell - 需要 Shell 函数替换条件
- c - 将 1 个字符的空间分配给 int 指针
- node.js - NodeJS:找不到 strava_api_v3 的 npm 包