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...

Weiterlesen

TermiShell: een webgebaseerde schil voor de Raspberry Pi (ontwikkelingsnota's)

Inleiding In de loop van de ontwikkeling van PiCockpit, ga ik een web-gebaseerde Terminal genaamd TermiShell toevoegen. TermiShell pictogram, door: Stephanie Harvey via unsplash.com TermiShell gaat het mogelijk maken om in te loggen op je Raspberry Pi met behulp van PiCockpit.com (en de picockpit-client) - geen extra applicatie nodig aan beide kanten. Dit zou zeer comfortabel moeten zijn,...

Weiterlesen

Python 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...

Weiterlesen

envoy 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:...

Weiterlesen

envoy 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 ...

Weiterlesen

envoy, 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...

Weiterlesen