你好我在我的Raspberry Pi上安装了mosquitto broker。
我正在尝试激活SSL,但当我尝试发布消息时,它会返回connection refused
。
我的疑惑是:
# MQTT over TLS/SSL
listener 8883
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/hostname.crt
keyfile /etc/mosquitto/certs/hostnmae.key
tls_version tlsv1.2
# WebSockets over TLS/SSL
listener 9883
#protocol websockets
cafile /etc/mosquitto/certs/ca.crt
certfile /etc/mosquitto/certs/hostname.crt
keyfile /etc/mosquitto/certs/hostname.key
tls_version tlsv1.2
当我尝试:
mosquitto_pub --cafile /etc/mosquitto/certs/ca.crt -h localhost -t "test" -m "message" -p 8883
它返回
错误:拒绝连接
没有日志。
答案 0 :(得分:2)
“拒绝连接”表示没有任何内容正在侦听您尝试连接的端口,9883。
Mosquitto可能没有运行,或者它实际上没有在端口上侦听(可能它没有正确读取正确的配置文件或配置文件)。
您可以使用lsof
找出正在侦听端口的进程,或进程正在侦听的端口。
例如,
lsof -I :9883
将告诉您哪些进程正在侦听端口9883.如果您没有看到任何进程,那么Mosquitto服务器就会出现问题。
lsof -c mosquitto | grep TCP
将向您展示Mosquitto正在监听的端口。
ps ax | grep mosquitto
将告诉你Mosquitto是否真的在运行。
如果Mosquitto正在运行但是端口9883没有出现,那么它需要找出它为什么没有拿起你的配置。
如果它没有运行,你需要找出原因。
您可能需要安装lsof
。你可以这样做
sudo apt-get install lsof