2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > -01-21-mqtt-mosquitto-启动Unable to load CA certificates

-01-21-mqtt-mosquitto-启动Unable to load CA certificates

时间:2023-03-10 12:04:29

相关推荐

-01-21-mqtt-mosquitto-启动Unable to load CA certificates

今天搞了一波mosquitto服务迁移,从A移到B,把必要的配置文件拷到B的/etc/mosquitto/目录下后,启动mosquitto,虽说没有消息是好消息,但是这里没有报任何错明显就不对了,我又没有加-d参数让它后台运行。

[root@localhost mosquitto]# mosquitto -c /etc/mosquitto/mosquitto.conf [root@localhost mosquitto]#

先从配置文件挑刺。看了一下mosquitto.conf配置文件,发现有配置日志文件,但是没有看到任何日志输出。

# vi /ect/mosquitto/mosquitto.conflog_dest file /etc/mosquitto/logs/mqttlogs.log

原来/etc/mosquitto目录下没有logs文件夹,注意mosquitto不会帮你创建日志文件夹及文件,我们手动创建一下(日志一般默认是放在/var/log/mosquitto.log的,这里做了修改)。

# cd /etc/mosquitto# mkdir logs# touch logs/mqttlogs.log

然后再次启动mosquitto,输出的日志信息如下,奇怪,也没发现ca文件有什么问题,文件是存在啊,而且之前也是用的这一份,运行的好好的。(这话怎么看着这么耳熟,>_<

1548041779: mosquitto version 1.4 (build date -03-07 13:56:50+0800) starting1548041779: Config loaded from /etc/mosquitto/mosquitto.conf.1548041779: Opening ipv4 listen socket on port 1883.1548041779: Opening ipv6 listen socket on port 1883.1548041779: Opening ipv4 listen socket on port 8883.1548041779: Opening ipv6 listen socket on port 8883.1548041779: Error: Unable to load CA certificates. Check cafile " /etc/mosquitto/ca.crt".

试着把对应的配置注释掉,是可以正常启动的,那就是这一块的问题了,再详看日志

" /etc/mosquitto/ca.crt"

第一个双引号后面多了一个空格,这是什么鬼?到mosquitto.conf中发现,配置是这样的:

# vi /ect/mosquitto/mosquitto.confcafile /etc/mosquitto/ca.crt

也就是键值对之间隔了两个空格,程序内部没有处理去两侧空格的操作,导致这样的结果,将其改成一个空格,如下:

# vi /ect/mosquitto/mosquitto.confcafile /etc/mosquitto/ca.crt

再次启动就可以了。。。

低级错误,告辞。

可是相同的配置,在原来的那台机子上,跑的没问题啊。看了一下,A服务器上跑的mosquitto版本是1.4.12,B服务器上跑的版本1.4,应该是新版本更新了解析配置文件的方式,旧版本没有做对应处理。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。