【问题标题】:Tls connection not showing messagestls连接不显示消息
【发布时间】:2017-09-11 11:43:48
【问题描述】:

我正在尝试在 MQTT 代理中建立一个 ssl 管道。对于经纪人,我使用的是 vernemq 和客户端蚊子客户端。

当我尝试发布或订阅时,我收到以下消息。

Client mosqsub/29373-ip-172-31 sending CONNECT
Client mosqpub/29376-ip-172-31 sending CONNECT

它显示发送连接之后它没有显示任何内容。消息也没有收到。这是我使用的确切命令。

mosquitto_pub --cafile ca.crt --cert client.crt --key client.key -h 172.31.45.91  -p 1883 -t foo -q 1 -m test1  -d

mosquitto_sub --cafile ca.crt --cert client.crt --key client.key -h 172.31.45.91 -p 1883 -t foo -d

任何帮助将不胜感激。 注意我在 AWS 上运行。

【问题讨论】:

    标签: ssl mqtt tls1.2 mosquitto


    【解决方案1】:

    如果你只是看到:

    Client mosqsub/29373-ip-172-31 sending CONNECT
    

    没有别的意思,它意味着客户端正在等待代理的响应。完整的连接调试消息集应如下所示:

    Client mosqsub/26111-tiefighte sending CONNECT
    Client mosqsub/26111-tiefighte received CONNACK
    Client mosqsub/26111-tiefighte sending SUBSCRIBE (Mid: 1, Topic: #, QoS: 0)
    Client mosqsub/26111-tiefighte received SUBACK
    Subscribed (mid: 1): 0
    

    您所看到的最常见的原因可能是您没有在运行代理的机器上打开所需的端口,因此防火墙只是丢弃数据包,客户端正在等待 TCP 超时(15 分钟),然后才失败连接。

    【讨论】:

      【解决方案2】:

      看起来它在 ssl 连接设置过程中处于 ssl 握手阶段。

      要弄清楚是否需要验证 ssl 连接性:

      openssl s_client -connect host:port -CAfile ca 证书文件 -nbio -debug -msg -state -cert cert -key 密钥

      很可能它被困在这个过程的某个步骤上。 如果您看到 SSL 会话成功设置,则需要检查跟踪 在经纪人方面

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-12
        • 2020-10-17
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        相关资源
        最近更新 更多