Ontwikkeling
envoy die een statisch antwoord serveert
Naast routing en redirecting kun je met Envoy ook statische antwoorden serveren. In dit geval wil ik een verboden antwoord serveren (403) route_config: virtual_hosts: - name: picockpit domains: ["picockpit.local:443", "picockpit.local"] routes: - match: { prefix: "/demo" } direct_response: status: 403 body: inline_string: "Verboden." - match: {prefix: "/"} route: {cluster: target_picockpit} Het kan ook dienen...
WeiterlesenPython Paho MQTT client zelf-ondertekende certificaten websockets, howto
Het gebruik van Paho in Python met websockets en zelfondertekende certificaten voor een https:// websocketverbinding heeft een paar valkuilen, dus ik pak dit aan met wat voorbeeldcode hier: 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 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...
Weiterlesenenvoy maakt geen verbinding met VerneMQ voor MQTT over websockets, foutcode 503
Wat achtergrondinformatie voor iedereen die tegen dezelfde problemen aanloopt, en hoe ze te debuggen. Foutcode 503 Dit is de foutcode die ik krijg: Fout tijdens WebSocket handshake: Onverwachte antwoordcode: 503. Stel envoy logging in op debug Hier is mijn docker-compose.yaml voor envoy: version: '3.7' services: envoy: build: context: ./ dockerfile: Dockerfile container_name:...
Weiterlesenenvoy websockets per route configuratie, JavaScript test opzet
In mijn artikel van gisteren heb ik de configuratie & test van envoy voor het proxying van websockets uitvoerig besproken. Vandaag wil ik graag wat extra informatie toevoegen. juiste syntax voor websocket upgrade per route Je kunt websocket upgrade per route inschakelen. Je hoeft het niet globaal toe te voegen: - name: envoy.http_connection_manager config: #upgrade_configs: # - upgrade_type: websocket ...
Weiterlesenenvoy, docker en websockets - debuggen en configuratie
Websockets zijn een opwindende technologie, waarmee je een HTTP verbinding kunt upgraden naar een langlopende persistente binaire verbinding, die je kunt gebruiken om bi-directionele berichten te versturen. Terzijde, het MQTT protocol kan getransporteerd worden met websockets - wat de enige (?) manier is voor bijvoorbeeld een JavaScript client geleverd door de website. In...
Weiterlesenjuiste manier om Paho Client in JavaScript te instantiëren voor wss (secure websocket)
De Paho-documentatie is op dit moment helaas nogal gefragmenteerd, en sommige links op de website van Eclipse werken niet. Hier zijn enkele werkende links (vanaf 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 En hier is een fantastische website van Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ Er is een belangrijke breukwijziging in de Paho-naamruimte, waar je in de problemen komt met het gebruik van...
WeiterlesenInzicht in Erlang & Lua / Luerl voor VerneMQ MongoDB auth_on_register haak
Mijn doel / TLDR Mijn doel met deze blog post is om uit te leggen hoe je aangepaste mountpoints voor VerneMQ in te stellen door het wijzigen van de meegeleverde MongoDB auth Lua script (lua/auth/mongodb.lua). Het instellen van een custom mountpoint is mogelijk met VerneMQ, niet alleen door het handmatig instellen van mountpoints voor specifieke listeners (bijv. poorten), maar ook programmatisch tijdens autorisatie in uw...
Weiterlesenmongo_orm Uitzondering: ontbrekende bson sleutel: publish_acl (Uitzondering)
Wanneer u uw velddefinities uitbreidt in de mongo_orm documentklassen, specifiek met ingesloten documenten, kan u de volgende runtime (!) fout tegenkomen: Uitzondering: ontbrekende bson sleutel: (Uitzondering) Dit is geen fout in uw code - uw code verhoogt, omdat de databasestructuur niet is zoals hij verwacht dat het is!..
WeiterlesenInleiding tot het SNAP-protocol
Inleiding S.N.A.P. is een protocol voor communicatie tussen verschillende verbonden hosts. Het voorziet in: - adressering - vlaggen - ack/nak verzoek - foutdetectie (verschillende foutdetectiemethoden beschikbaar) Het kan worden uitgevoerd over verschillende media, waaronder RS485. Het is geoptimaliseerd voor een kleine footprint (beperkte computing, geheugen resources), maar schaalbaar afhankelijk van uw behoeften. In principe...
Weiterlesen