Archivio per Maggio 2019
VerneMQ: esempio di econnrefused e Webhook
Webhooks attivate i webhooks in questo modo nel vostro vernemq.conf.local (.local quando si esegue su docker, in modo che le impostazioni in fondo al file persistano): 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 Notate che se il vostro webhook non è accessibile (econnrefused), anche l'autenticazione basata sul db fallirà ... ! Se si ottengono errori come...
Weiterlesenenvoy che serve una risposta statica
Oltre al routing e al reindirizzamento è possibile servire risposte statiche con Envoy. In questo caso voglio servire una risposta vietata (403) route_config: virtual_hosts: - nome: picockpit domini: ["picockpit.local:443", "picockpit.local"] route: - match: { prefisso: "/demo" } direct_response: status: 403 body: inline_string: "Proibito". - match: {prefix: "/"} route: {cluster: target_picockpit} Può anche servire...
WeiterlesenPython Paho MQTT client autofirmato certificati websockets, howto
Usare Paho in Python con websockets e certificati autofirmati per una connessione websocket https:// ha un paio di insidie, così sto affrontando questo con un po' di codice di esempio qui: 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...
WeiterlesenVerneMQ Docker sovrascrive la mia configurazione
Situazione Hai modificato vernemq.conf, solo per scoprire che la tua configurazione viene sovrascritta da VerneMQ al prossimo avvio (usando il contenitore Docker ufficiale). In particolare, la sezione con gli ascoltatori alla fine del file è "forzata". Soluzione VerneMQ viene avviato utilizzando uno script (start_vernemq). Lo script può essere visto qui: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh Il...
Weiterlesenenvoy non si connette a VerneMQ per MQTT su websockets, codice di errore 503
Alcune rapide informazioni di base per chiunque si imbatta negli stessi problemi, e come debuggarli. Codice di errore 503 Questo è il codice di errore che sto ottenendo: Errore durante il WebSocket handshake: Codice di risposta inaspettato: 503. Imposta la registrazione di envoy su debug Ecco il mio docker-compose.yaml per envoy: versione: '3.7' servizi: envoy: build: context: ./ dockerfile: Dockerfile container_name:...
Weiterlesenwebsockets di envoy per configurazione delle rotte, impostazione del test JavaScript
Nel mio articolo di ieri ho discusso a lungo la configurazione e il test di envoy per il proxy dei websockets. Oggi vorrei aggiungere alcune informazioni aggiuntive. sintassi corretta per l'aggiornamento dei websocket per rotta È possibile abilitare l'aggiornamento dei websocket per rotta. Non è necessario aggiungerlo globalmente: - nome: envoy.http_connection_manager config: #upgrade_configs: # - upgrade_type: websocket ...
Weiterlesenenvoy, docker e websockets - debug e configurazione
I websockets sono una tecnologia eccitante, che permette di aggiornare una connessione HTTP a una connessione binaria persistente di lunga durata, che si può usare per inviare messaggi bidirezionali. Per inciso, il protocollo MQTT può essere trasportato utilizzando websockets - che è l'unico (?) modo per un client JavaScript consegnato dal sito web, per esempio. In...
Weiterlesenmodo corretto di istanziare il client Paho in JavaScript per wss (secure websocket)
La documentazione Paho è purtroppo abbastanza frammentata al momento, e alcuni link sul sito web di Eclipse non funzionano. Ecco alcuni link funzionanti (al 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 Ed ecco un fantastico sito web di Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ C'è un importante cambiamento nello spazio dei nomi Paho, dove si incontrano problemi nell'uso...
WeiterlesenComprendere Erlang & Lua / Luerl per VerneMQ MongoDB auth_on_register hook
Il mio obiettivo / TLDR Il mio obiettivo con questo post sul blog è quello di spiegare come impostare mountpoint personalizzati per VerneMQ modificando lo script auth Lua di MongoDB (lua/auth/mongodb.lua). Impostare un mountpoint personalizzato è possibile con VerneMQ non solo impostando manualmente i mountpoint per specifici ascoltatori (ad esempio le porte), ma anche programmaticamente durante l'autorizzazione...
Weiterlesen