【发布时间】:2019-02-25 09:50:05
【问题描述】:
我正在尝试使用 TLS 通过 mqtt 进行通信。我的系统中安装了 ubuntu。对于使用 TLS,我使用以下链接创建了证书:
我能够创建证书。但是,当我在 mosquitto_m2mqtt.conf 文件中为 bind_address 属性赋值并使用命令 mosquitto -c mosquitto_m2mqtt.conf 启动 mosquitto 时,我得到了问题主题中给出的错误;即Error: cannot assign requested address。请告诉我如何解决此问题。
下面是配置文件的内容:
port 8883
bind_address iothdp02
cafile /etc/mosquitto/m2mqtt_ca.crt
certfile /etc/mosquitto/m2mqtt_srv.crt
keyfile /etc/mosquitto/m2mqtt_srv.key
tls_version tlsv1
当我运行命令mosquitto -c mosquitto_m2mqtt.conf -v 时,我得到的错误如下:
1551089294: mosquitto version 1.4.8 (build date 2016-09-21 11:21:45+0530) starting
1551089294: Config loaded from mosquitto_m2mqtt.conf.
1551089294: Opening ipv4 listen socket on port 8883.
1551089294: Error: Cannot assign requested address
编辑 1:
我已从配置文件中删除 bind_address,并使用带有“mosquitto -c mosquitto_m2mqtt.conf -v”的新配置文件启动 mosquitto。 Mosquitto 启动,但是当我运行 mosquitto_sub 命令时,出现如下错误:
mosquitto -c mosquitto_m2mqtt.conf -v
1551172930: mosquitto version 1.4.8 (build date 2016-09-21 11:21:45+0530) starting
1551172930: Config loaded from mosquitto_m2mqtt.conf.
1551172930: Opening ipv4 listen socket on port 8883.
1551172930: Opening ipv6 listen socket on port 8883.
Enter PEM pass phrase:
1551172960: New connection from 127.0.0.1 on port 8883.
1551172960: OpenSSL Error: error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown
1551172960: OpenSSL Error: error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure
1551172960: Socket error on client <unknown>, disconnecting.
在我订阅的窗口中,出现如下错误:
mosquitto_sub -p 8883 -q 1 -t sensor/temp --cafile /etc/mosquitto/m2mqtt_srv.crt --tls-version tlsv1 -d
Unable to connect (A TLS error occurred.).
【问题讨论】:
-
iothdp02解析为什么?如果你运行nslookup iothdp02会发生什么?这很可能不是解析为地址 -
nslookup iothdp02 的输出:
Server: 127.0.1.1 Address: 127.0.1.1#53 ** server can't find iothdp02: NXDOMAIN -
我运行了命令
hostname并得到了iothdp02的输出,因此在生成证书时给出了与Common Name 相同的名称,并且在配置文件中也给出了bind_address。 -
编辑现在是一个完全不同的问题。问一个新问题。
-
我在以下位置提出了一个新问题:stackoverflow.com/questions/54899215/…