Esc*_*her 5 openssl mqtt mosquitto lets-encrypt
我已将 mosquitto 配置为侦听端口 8883,并为服务器生成 LetsEncrypt SSL 证书。到目前为止,一切都很好。
我可以成功测试 TLS 连接:
openssl s_client -connect mqtt.example.com:8883为我提供证书和会话信息,并且 mosquitto 的日志报告连接成功。
我还可以使用 paho python 库成功发布消息。
但是,当我尝试使用mosquitto_pub它时,会执行以下操作:
$ mosquitto_pub -h mqtt.example.com -p 8883 -u foobar -P "" -t foobar -m test
Client connection from XX.XX.XX.XX failed: error:1408F10B:SSL routines:ssl3_get_record:wrong version number.
Run Code Online (Sandbox Code Playgroud)
这似乎是一个常见问题,但我在网上搜索到的解决方案似乎都不适用于我,因为它们通常涉及客户端使用 自签名证书来识别自己。
所以我很困惑。有谁知道导致此错误的原因是什么?
要mosquitto_pub尝试启动 SSL 连接,您需要提供--cafile或--capath指向 CA 证书的位置以验证代理。
如果没有这些选项,则不会mosquitto_pub或mosquitto_sub不会尝试启动 SSL 会话,而是尝试使用正常的未加密 MQTT 连接进行连接。
在大多数 Linux 发行版上,您可以使用--capath并指向/etc/ssl/certs目录
| 归档时间: |
|
| 查看次数: |
6226 次 |
| 最近记录: |