mosquitto - 蚊子“SSL 已禁用”
问题描述
我已经在端口 8883 上设置了带有 SSL 的 Mosquitto MQTT。但是,当我尝试连接时,我收到一个错误“错误:发生 TLS 错误”
我查看了 mosquitto 日志,在日志中看到“SSL 已禁用”。我不认为这是预期的。所有证书均有效。
我的配置文件(注意:mqtt.test.com 不是实际主机):
autosave_interval 1800
# Persistence Settings
persistence true
persistence_file mosquitto.db
persistence_location /tmp/
connection_messages true
# Logging Settings
log_timestamp true
log_dest file /home/ubuntu/mqtt/mosquitto/mosquitto.log
log_type debug
# Port Settings
listener 1883
# Only needed if Websockets
listener 8033
protocol websockets
certfile /etc/letsencrypt/live/mqtt.test.com/cert.pem
cafile /etc/letsencrypt/live/mqtt.taggle.com/chain.pem
keyfile /etc/letsencrypt/live/mqtt.test.com/privkey.pem
listener 8883
certfile /etc/letsencrypt/live/mqtt.test.com/cert.pem
cafile /etc/letsencrypt/live/mqtt.test.com/chain.pem
keyfile /etc/letsencrypt/live/mqtt.test.com/privkey.pem
解决方案
无需从源代码构建 mosquitto 到用户 auth_plugin,您需要访问已安装代理版本的匹配 src 包。
当您构建 mosquitto 时,您很可能没有安装 openssl 开发包以允许构建链接到 openssl。
那或者你用make WITH_TLS=no
仔细检查您是否遵循了 src 随附的 readme.md 中的所有说明,并安装了所有必备软件包
推荐阅读
- windows - GreaseMonkey 上的徽章图标
- python - 索引数据框不返回正确的值,而是返回累积值?
- python - 你如何总结熊猫?
- javascript - 当我单击 evrywhere 时如何关闭 jquery 弹出窗口,除了它自己的弹出窗口
- mysql - MYSQL 创建事件语法
- r - 重复唯一的列名
- python - 从 laravel 的 Flask REST 服务中获取数据
- r - 添加执行 SQL 过程的代码时无法显示地图
- database-normalization - 如果您有一个具有大特征(100+)的数据对象,是通过添加列还是以行格式存储来扩展此数据更好?
- python - 使用 pyodbc 检索 SQL Server 数据返回意外的数据值