Depurando MQTT sobre websockets en Envoy 1.28.0

He migrado nuestra instalación de Envoy de Envoy 1.11.1 a 1.28.0, y ahora también estoy utilizando SNI para seleccionar el certificado correcto. Una gran parte de esa migración consiste en actualizar la sintaxis de la configuración para Envoy de la API v2 a la API v3. La actualización fue bien, excepto para nuestro servicio MQTT basado en websocket...

Weiterlesen

TermiShell: un shell basado en la web para la Raspberry Pi (notas de desarrollo)

Introducción En el curso del desarrollo de PiCockpit, voy a añadir un Terminal basado en la web llamado TermiShell. Icono de TermiShell, por: Stephanie Harvey via unsplash.com TermiShell va a permitirte iniciar sesión en tu Raspberry Pi usando PiCockpit.com (y el picockpit-client) - no se requiere ninguna aplicación adicional en ningún lado. Esto debería ser muy cómodo,...

Weiterlesen

Python Paho MQTT cliente websockets certificados autofirmados, howto

El uso de Paho en Python con websockets y certificados autofirmados para una conexión de websocket https:// tiene un par de escollos, por lo que estoy abordando esto con un código de ejemplo aquí: import ssl import time import paho.mqtt.client as mqtt class PCPMQTTClient: def on_connect(self, client, userdata, flags, rc): self.connection_status = rc if rc == 0: self.connected_flag = True self.connection_error_flag...

Weiterlesen

envoy no se conecta a VerneMQ para MQTT sobre websockets, código de error 503

Algunos antecedentes rápidos para cualquiera que se encuentre con los mismos problemas, y cómo depurarlos. Código de error 503 Este es el código de error que estoy recibiendo: Error durante el handshake de WebSocket: Código de respuesta inesperado: 503. Establecer el registro de envoy en debug Aquí está mi docker-compose.yaml para envoy: versión: '3.7' servicios: envoy: build: contexto: ./ dockerfile: Dockerfile container_name:...

Weiterlesen

envoy websockets por configuración de ruta, configuración de prueba de JavaScript

En mi artículo de ayer discutí ampliamente la configuración y prueba de envoy para proxiar websockets. Hoy me gustaría añadir algo de información adicional. sintaxis correcta para la actualización de websocket por ruta Puede habilitar la actualización de websocket por ruta. No es necesario añadirlo globalmente: - nombre: envoy.http_connection_manager config: #upgrade_configs: # - upgrade_type: websocket ...

Weiterlesen

envoy, docker y websockets - depuración y configuración

Los websockets son una tecnología apasionante, que permite convertir una conexión HTTP en una conexión binaria persistente de larga duración, que se puede utilizar para enviar mensajes bidireccionales. Como nota aparte, el protocolo MQTT puede ser transportado usando websockets - que es la única (?) manera para un cliente JavaScript entregado por el sitio web, por ejemplo. En...

Weiterlesen