Berichten getagged "envoy
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...
Weiterlesenenvoy fix voor het serveren van grote bestanden van de backend / timeouts / afgebroken downloads
Klanten klaagden over het niet kunnen downloaden van grote bestanden van onze websites (b.v. PiDoctor op PiCockpit.com). In eerste instantie kon ik het probleem niet lokaal repliceren, de bestanden leken goed te downloaden. Na verder onderzoek stelde ik vast dat de downloads na een bepaalde tijd afbraken - afhankelijk van uw download snelheid, dus,...
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...
Weiterlesenenvoy 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...
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...
WeiterlesenRoute & Omleiding met Gezant
Een voorbeeld envoy.yaml die toont hoe te routeren en te redirecten. Er zijn verschillende opties, zie hier https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-redirectaction Deze envoy.yaml routeert /taxgod en /taxgod/ (de tweede kan waarschijnlijk weggelaten worden omdat de eerste er ook mee overeen zou moeten komen, denk ik) naar een nieuwe poort en een ander protocol. /picockpit wordt gewoon omgeleid naar / en dan uiteindelijk...
WeiterlesenEnvoy routing en herschrijven knipsel
Het is mogelijk om URL's te herschrijven met Envoy voor de backend. Let er wel op dat de HTML output de juiste routes moet hebben! (Dat is de reden waarom ik niet verder in deze richting ga onderzoeken). REF: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-route Merk ook op dat de string letterlijk gerenderd gaat worden voor direct_response -> body -> inline_string,...
Weiterlesenenvoy als http 2 front proxy - inschakelen van http 2 voor envoy (aka h2)
Out of the box is envoy niet geconfigureerd om verbindingen op te zetten met clients die er verbinding mee maken met het nieuwe HTTP/2. HTTP/2 is geoptimaliseerd voor het moderne web, met binaire headers, enz. - hogere snelheid. Aangezien envoy in staat is om HTTP/2 te spreken met clients, is het een no-brainer om het in te stellen. En de setup...
Weiterlesen