Error TLS al conectar con Hermetry usando mosquitto_pub en Windows, ¿cómo obtener logs detallados?
Traducido del Türkçe por IA ·
Antes de escribir el firmware en el dispositivo de campo, quiero probar la conexión desde mi portátil con Windows 10 usando el cliente mosquitto. Mosquitto 2.0.18, instalación oficial para Windows. Abrí el dispositivo en Hermetry y obtuve un token de acceso.
mosquitto_pub -h 185.x.x.x -p 8883 -u <token> -t v1/telemetry -m "{"t":21.4}" -q 1
Error: A TLS error occurred.
No escribe nada más. El broker no es mío, así que no puedo ver su log. ¿Cuál es la forma de obtener logs detallados en el lado del cliente? Antes había log_type all en mosquitto.conf, pero creo que era para el broker.
Saha cihazının firmware’ini yazmadan önce bağlantıyı Windows 10 dizüstünden mosquitto istemcisiyle denemek istiyorum. Mosquitto 2.0.18, resmi Windows kurulumu. Cihazı Hermetry’de açtım, access token aldım.
mosquitto_pub -h 185.x.x.x -p 8883 -u <token> -t v1/telemetry -m "{"t":21.4}" -q 1
Error: A TLS error occurred.
Başka hiçbir şey yazmıyor. Broker benim değil, onun loguna bakamıyorum. İstemci tarafında ayrıntılı log almanın yolu nedir? Eskiden mosquitto.conf’ta log_type all vardı ama o broker için sanırım.
Traducido del Türkçe por IA ·
Añade -d, da la salida de depuración.
-d ekle, debug çıktısı verir.
Traducido del Türkçe por IA ·
Lo añadí. Solo Client null sending CONNECT y después el mismo error TLS. CONNACK ni siquiera llega, así que se queda atascado en el handshake.
Ekledim. Sadece Client null sending CONNECT ve arkasından aynı TLS hatası. CONNACK bile gelmiyor yani el sıkışmada kalıyor.
Traducido del Türkçe por IA ·
Si no llega el CONNACK, te quedas atascado en el handshake TLS. Hay dos cosas en tu comando, y ambas provocan eso.Primero, te conectas por IP. Hermetry requiere SNI, es decir, el cliente debe enviar el nombre del servidor durante el handshake; al conectar por IP eso no ocurre y el handshake falla. Usa el nombre de host de la tarjeta Connection details de tu dispositivo, la dirección de tu región.Segundo, el cliente mosquitto en Windows no usa automáticamente el almacén de certificados del sistema. En la versión 2.x existe --tls-use-os-certs, o bien puedes pasar un paquete de CA que tengas con --cafile. En mi primer intento había olvidado las dos cosas y obtuve exactamente el mismo mensaje.
mosquitto_pub -d -h <connection details'teki host> -p 8883 --tls-use-os-certs ^
-i test-pc-01 -u <token> -t v1/telemetry -q 1 -m "{"t":21.4}"
Cuando se abra la conexión, verás los errores posteriores (como CONNACK 4, 5) en la pestaña Log del dispositivo junto con su causa; la causa del 5 nunca se envía al dispositivo, solo se escribe allí. La tabla está aquí: Cihaz bağlanmıyor.
CONNACK gelmiyorsa TLS el sıkışmasında takılıyorsun. Komutunda iki şey var, ikisi de bunu yapar.
Birincisi IP ile bağlanıyorsun. Hermetry SNI istiyor, yani istemci el sıkışmada sunucu adını göndermeli; IP ile bağlanınca bu olmuyor ve el sıkışma düşüyor. Cihazın Connection details kartındaki host adını kullan, kendi bölgenin adresini.
İkincisi Windows’taki mosquitto istemcisi sistemin sertifika deposunu kendiliğinden kullanmıyor. 2.x sürümlerinde --tls-use-os-certs var, ya da elindeki bir CA paketini --cafile ile ver. Ben ilk denememde ikisini de unutmuştum, birebir aynı mesajı aldım.
mosquitto_pub -d -h <connection details'teki host> -p 8883 --tls-use-os-certs ^
-i test-pc-01 -u <token> -t v1/telemetry -q 1 -m "{"t":21.4}"
Bağlantı açılınca bundan sonraki hataları (CONNACK 4, 5 gibi) cihazın Log sekmesinde nedeniyle birlikte görürsün; 5’in nedeni cihaza hiç gönderilmiyor, sadece orada yazıyor. Tablo burada: Cihaz bağlanmıyor.
Traducido del Türkçe por IA ·
Funcionó con el nombre de host + –tls-use-os-certs, CONNACK 0, llegó PUBACK. Probé con la IP porque el DNS de la empresa no funcionaba en ese momento, y luego se me olvidó. Muchas gracias.
Host adı + –tls-use-os-certs ile geçti, CONNACK 0, PUBACK geldi. IP ile denememin sebebi kurumdaki DNS’in o sırada çalışmaması, sonra da unutmuşum. Sağ olun.
Traducido del Türkçe por IA ·
Lo mismo ocurre con el dispositivo: no fijes una IP estática en el firmware. En una RTU nuestra se había hecho así, y estuvimos meses buscando por qué no se conectaba.
Cihazda da aynı şey geçerli, firmware’de IP sabitlemeyin. Bizim bir RTU’da öyle yapılmıştı, aylarca neden bağlanmadığını aradık.
- Debes estar registrado para responder a este debate.
Únete a la conversación
Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

