Windows上的Mosquitto服务问题

问题描述:

在我对用于添加TLS支持的mosquitto.conf文件进行了更改之后,我重新启动了Mosquitto Broker服务,但未启动。错误说Mosquitto服务启动本地计算机上,然后停止 -Windows上的Mosquitto服务问题

# MQTT over TLS 
listener 8883 
cafile C:Program Files (x86)mosquittocertificatesca.crt 
certfile C:Program Files (x86)mosquittocertificatesserver.crt 
keyfile C:Program Files (x86)mosquittocertificatesserver.key 

当我更改了mosquitto.conf文件 -

listener 9001 0.0.0.0 
protocol websockets 

我使用的是Windows 10的机器也会出现此错误。有没有人遇到过这个问题?

+0

证书文件的路径是错误的,它缺少\分隔符,并且可能应该用“标记,因为它有空格” – hardillb

+0

那么为什么第二个代码在我设置监听器时没有工作,而且没有证书路径? – user1930106

+0

当你启动它时,不能确定没有看到mosquitto的输出。不要使用服务,而是尝试在命令行上用'-c'选项指向conf文件,以便看到错误。使用这个输出更新问题 – hardillb

正如在评论中的工作。

证书的路径需要包含正确的路径分隔符'\',因为它们包含的空格应该用引号括起来。例如

# MQTT over TLS 
listener 8883 
cafile "C:\Program Files (x86)\mosquitto\certificates\ca.crt" 
certfile "C:\Program Files (x86)\mosquitto\certificates\server.crt" 
keyfile "C:\Program Files (x86)\mosquitto\certificates\server.key" 

此外,Windows的mosquitto的预建版本不包括websocket支持。如果你需要websocket支持,你将不得不从源码自己构建它,并构建并包含libwebsocket依赖项。

+0

我一定会试试这个。 Websocket支持你将不得不从源头构建它 - 你可以参考一些链接 – user1930106

+0

不,你将不得不阅读与源代码一起提供的文档 – hardillb