VerneMQ: ejemplo de econnrefused y Webhook

Los webhooks se activan así en tu vernemq.conf.local (.local cuando se ejecuta en docker, para que la configuración en la parte inferior del archivo persista): plugins.vmq_webhooks = on vmq_webhooks.js_auth_on_register.hook = auth_on_register vmq_webhooks.js_auth_on_register.endpoint = http://container_picockpit:1200/example/path Ten en cuenta que si tu webhook no es accesible (econnrefused), la autenticación basada en db también fallará... ! Si obtienes errores como...

Weiterlesen

enviado sirviendo una respuesta estática

Además de enrutar y redirigir puede servir respuestas estáticas con Envoy. En este caso quiero servir una respuesta prohibida (403) route_config: virtual_hosts: - name: picockpit domains: ["picockpit.local:443", "picockpit.local"] routes: - match: { prefijo: "/demo" } direct_response: status: 403 body: inline_string: "Prohibido". - match: {prefijo: "/"} route: {cluster: target_picockpit} También puede servir...

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

VerneMQ Docker sobrescribe mi configuración

Situación Usted edita vernemq.conf, sólo para encontrar que su configuración es sobrescrita por VerneMQ en el siguiente inicio (usando el contenedor oficial Docker). Específicamente, la sección con los listeners al final del archivo es "forzada". Solución VerneMQ se inicia usando un script (start_vernemq). El script se puede ver aquí: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh El...

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

forma correcta de instanciar el cliente Paho en JavaScript para wss (websocket seguro)

La documentación de Paho está desafortunadamente bastante fragmentada en este momento, y algunos enlaces en el sitio web de Eclipse no funcionan. Aquí hay algunos enlaces que funcionan (a partir de 05/2019): https://www.eclipse.org/paho/clients/js/ https://www.eclipse.org/paho/files/jsdoc/index.html https://github.com/eclipse/paho.mqtt.javascript Y aquí hay un sitio web fantástico por Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ Hay un cambio de ruptura importante en el espacio de nombres de Paho, donde se encontrará con problemas utilizando...

Weiterlesen

Entendiendo Erlang y Lua / Luerl para VerneMQ MongoDB auth_on_register hook

Mi objetivo / TLDR Mi objetivo con esta entrada de blog es explicar cómo establecer puntos de montaje personalizados para VerneMQ modificando el script Lua de autentificación de MongoDB (lua/auth/mongodb.lua). Establecer un punto de montaje personalizado es posible con VerneMQ no sólo estableciendo puntos de montaje manualmente para oyentes específicos (por ejemplo, puertos), sino también programáticamente durante la autorización en su...

Weiterlesen