gpt4 book ai didi

linux - mosquitto_sub 错误 :A TLS error occurred but is ok whit --insecure

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:18 24 4
gpt4 key购买 nike

我正在构建一个 mqtt 服务器。我在服务器上使用带有 TLS 的 mosquitto 作为代理。

我遇到了这个问题:我通过 generate-CA.sh 创建了 ca.crt、服务器证书、服务器 key 、客户端证书、客户端 key

我可以通过 MQTT.fx 连接代理并发布和订阅消息,但是当我尝试将代理与 mosquitto_sub 连接时,客户端 PC 上出现了错误:发生 TLS 错误 (ubuntu),同时服务器端打印

New connection from xx.xx.xx.xx on port 8883.
Openssl Error: error:14094416:SSL routines:SSL3_READ_BYTES:sslv3 alert certificate unknown
Openssl Error: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure

我使用的命令是:

mosquitto_sub -p 8883 -i test -t mqtt -h 150.xx.xx.xx --cafile ca.crt --cert xx.crt --key xx.key 其中, 150.xx.xx.xx 是我经纪人的 IP。

当我在上面的命令中使用选项 --insecure 时,问题就消失了。所以我认为是服务器主机名导致了这个问题。在 mosquitto_sub 命令中,选项 -h 指定主机名,但我需要使用此参数指向我的代理的 IP 地址,那么我如何指定我的服务器的主机名??

最佳答案

老问题,但也许这可能对某人有帮助:

如果 --insecure 选项使其工作,则您遇到了证书问题。您在签署证书时设置了什么主机名? openssl s_client -showcerts -connect 150.xx.xx.xx:8883 说了什么?

相关:虽然应该可以使用公共(public) IP 地址为您的服务器使用 SSL 证书(参见 Is it possible to have SSL certificate for IP address, not domain name?),但我建议不要这样做并且仅使用 DNS,即使这意味着 server.localdomain 和/或在必要时编辑您的 /etc/hosts 文件。

关于linux - mosquitto_sub 错误 :A TLS error occurred but is ok whit --insecure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44151862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com