VerneMQ
MQTT debuggen via websockets op Envoy 1.28.0
Ik heb onze Envoy-installatie gemigreerd van Envoy 1.11.1 naar 1.28.0, en gebruik nu ook SNI voor het selecteren van het juiste certificaat. Een groot deel van die migratie is het upgraden van de syntax van de configuratie voor Envoy van de v2 API naar de v3 API. De upgrade ging goed, behalve voor onze websocket-gebaseerde MQTT service...
WeiterlesenPaho MQTT-client (Javascript), Envoy, VerneMQ: debuggen van verbroken verbindingen
Na het installeren van picockpit op mijn server, werd een bug waargenomen: de web frontend verbrak de verbinding met zeer regelmatige tussenpozen. Dit was niet aanwezig op de lokale ontwikkelomgeving. Gebruikers van picockpit meldden dezelfde bug. Ik heb het vandaag gedebugged, en een hotfix toegepast. Het blijkt dat het een timing probleem was. TL;DR hoe...
WeiterlesenVerneMQ hoe clients geforceerd te ontkoppelen per commandoregel
Er is een commando vmq-admin session show dat u de momenteel verbonden clients zal tonen: Helaas wordt deze uitvoer afgekapt voor een totale breedte van 80 karakters (ongeacht hoeveel er zouden passen) en er is momenteel geen indicatie dat dit zo is. Zie dit VerneMQ Github probleem: https://github.com/vernemq/vernemq/issues/1200 Om clients te ontkoppelen heb je de client_id nodig...
WeiterlesenVerneMQ MQTT verbinding verloren (8): AMQJS0008I Socket gesloten. verschillende mountpoints
In mijn setup herschrijf ik de mountpoints van clients van degene die ingesteld zijn door de listeners naar individuele mountpoints afhankelijk van de client groep. Het idee hierachter is perfecte isolatie van multi-tenancy op de server. Individuele clients van verschillende groepen zijn dus niet in staat om elkaar te zien, zelfs niet als ze zich abonneren op "#"...
WeiterlesenWijzigen van het mountpoint op auth_on_register webhook voor VerneMQ
Het is mogelijk om modifiers mee te geven met de "result" "ok" return waarde van je webhook voor VerneMQ. De officiële documentatie van VerneMQ geeft enkele voorbeelden voor de syntax. het wijzigen van het mountpoint Het is ook mogelijk om het mountpoint te wijzigen, maar de client_id moet blijkbaar ook worden doorgegeven! Ik heb een...
WeiterlesenMaximale lengte van credentials (gebruikersnaam, wachtwoord, clientid) in MQTT v3.1.1
Het CONNECT pakket Het MQTT CONNECT Controle pakket bevat altijd een payload. Het is het eerste pakket, dat de client naar de server moet sturen nadat de verbinding tot stand is gebracht. Het kan slechts eenmaal door de client worden verzonden, als een tweede CONNECT pakket wordt verzonden, moet de server (broker) het verwerken als een protocol...
WeiterlesenDebuggen van VerneMQ connectie / authenticatie problemen voor dubbele authenticatie met webhooks en vmq_diversity
TL;DR https://github.com/vernemq/vernemq/blob/master/apps/vmq_diversity/src/vmq_diversity_plugin.erl bevat een verklaring die authenticatie / authorisatie via andere kanalen zal blokkeren als je Lua script "false" retourneert: zal leiden tot: in plaats van andere plugins te proberen, zoals je misschien verondersteld had! Om dit probleem te vermijden, retourneer gewoon niets van uw Lua-script, als u dat niet wilt...
WeiterlesenVerneMQ: econnrefused & Webhook voorbeeld
Webhooks activeer webhooks als volgt in je vernemq.conf.local (.local wanneer je op docker draait, zodat de instellingen onderaan het bestand blijven bestaan): 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 Merk op dat als je webhook niet toegankelijk is (econnrefused), de db gebaseerde authenticatie ook zal falen ... ! Als u fouten krijgt zoals ...
WeiterlesenVerneMQ Docker overschrijft mijn configuratie
Situatie Je bewerkt vernemq.conf, alleen om te ontdekken dat je configuratie overschreven wordt door VerneMQ bij de volgende start (met behulp van de officiële Docker container). In het bijzonder, de sectie met de luisteraars aan het einde van het bestand wordt "opgedrongen". Oplossing VerneMQ wordt gestart met behulp van een script (start_vernemq). Het script kan hier worden bekeken: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh De...
Weiterlesen