我的设置使用了TLS和用户/通过身份验证的mosquitto 1.4.12,它在Ubuntu 14.04下运行了很长时间。
问题是没有数据发布到任何if __name__ == '__main__':
x = Process(target=a)
x.start()
代理状态主题。我已经查看了配置,$SYS
设置为10.还有什么需要让它工作吗?
我尝试了很多客户端(mosquitto_sub,paho-mqtt,mqtt.fx),所以它看起来像是一个错误的mosquitto配置,而不是客户端问题。
mosquitto.conf看起来像这样:
sys_interval
acl.conf有这个,可能没必要:
sys_interval 10
max_queued_messages 10000
max_inflight_messages 100
max_connections -1
connection_messages true
log_dest stderr
log_type error
log_type warning
log_type notice
log_type information
log_type all
log_timestamp true
password_file /etc/mosquitto/conf.d/jp.pw
acl_file /etc/mosquitto/conf.d/acl.conf
persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
persistent_client_expiration 1m
autosave_interval 600
retained_persistence true
listener 8883
tls_version tlsv1.2
cafile /etc/mosquitto/ca_certificates/ca.crt
certfile /etc/mosquitto/ca_certificates/cert.crt
keyfile /etc/mosquitto/ca_certificates/cert.key
require_certificate false
allow_anonymous false
答案 0 :(得分:4)
ACL中的主题过滤器应用与普通通配符处理相同的规则,因此只允许访问#
不会涵盖`$ SYS /#'主题。
您需要在ACL中添加额外的topic
行,以包含$SYS
主题:
user test
topic #
topic $SYS/#