Beiträge mit dem Stichwort: ‘envoy̵
envoy Fix für das Ausliefern großer Dateien aus dem Backend / Timeouts / abgebrochene Downloads
Kunden haben sich darüber beschwert, dass sie große Dateien von unseren Websites (z.B. PiDoctor auf PiCockpit.com) nicht herunterladen konnten. Zunächst konnte ich das Problem nicht lokal replizieren, die Dateien schienen problemlos heruntergeladen zu werden. Nach weiteren Untersuchungen stellte ich fest, dass die Downloads nach einer bestimmten Zeit abbrachen - abhängig von der Downloadgeschwindigkeit...
WeiterlesenPaho MQTT Client (Javascript), Envoy, VerneMQ: Fehlersuche bei Verbindungsabbrüchen
Nachdem ich picockpit auf meinem Server installiert hatte, wurde ein Fehler festgestellt: Das Web-Frontend brach in regelmäßigen Abständen ab. Dies war in der lokalen Entwicklungsumgebung nicht der Fall. Benutzer von picockpit meldeten denselben Fehler. Ich habe den Fehler heute behoben und einen Hotfix eingespielt. Es stellte sich heraus, dass es ein Timing-Problem war. TL;DR wie...
WeiterlesenAbgesandter, der eine statische Antwort liefert
Neben Routing und Redirecting können Sie mit Envoy auch statische Antworten ausliefern. In diesem Fall möchte ich eine verbotene Antwort (403) ausliefern route_config: virtual_hosts: - name: picockpit domains: ["picockpit.local:443", "picockpit.local"] routes: - match: { prefix: "/demo" } direct_response: status: 403 body: inline_string: "Forbidden". - match: {Präfix: "/"} route: {cluster: target_picockpit} Es kann auch dazu dienen...
Weiterlesenenvoy verbindet sich nicht mit VerneMQ für MQTT über Websockets, Fehlercode 503
Einige kurze Hintergrundinformationen für alle, die auf dieselben Probleme stoßen, und wie man sie behebt. Fehlercode 503 Dies ist der Fehlercode, den ich erhalte: Fehler beim WebSocket-Handshake: Unerwarteter Antwortcode: 503. Set envoy logging to debug Hier ist meine docker-compose.yaml für envoy: version: '3.7' services: envoy: build: context: ./ dockerfile: Dockerfile container_name:...
Weiterlesenenvoy Websockets per Routenkonfiguration, JavaScript-Testaufbau
In meinem gestrigen Artikel habe ich die Konfiguration und den Test von envoy für das Proxying von Websockets ausführlich besprochen. Heute möchte ich einige zusätzliche Informationen hinzufügen. korrekte Syntax für Websocket-Upgrade pro Route Sie können Websocket-Upgrade pro Route aktivieren. Sie müssen es nicht global hinzufügen: - name: envoy.http_connection_manager config: #upgrade_configs: # - upgrade_type: websocket ...
Weiterlesenenvoy, Docker und Websockets - Fehlersuche und Konfiguration
Websockets sind eine aufregende Technologie, die es Ihnen ermöglicht, eine HTTP-Verbindung zu einer dauerhaften binären Verbindung auszubauen, die Sie zum Senden bidirektionaler Nachrichten verwenden können. Nebenbei bemerkt kann das MQTT-Protokoll über Websockets transportiert werden - die einzige (?) Möglichkeit für einen JavaScript-Client, der von der Website ausgeliefert wird, zum Beispiel. In...
WeiterlesenWeiterleiten & Umleiten mit envoy
Ein Beispiel envoy.yaml, das zeigt, wie man routen und umleiten kann. Es gibt verschiedene Optionen, siehe hier https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-redirectaction Diese envoy.yaml leitet /taxgod und /taxgod/ (das zweite könnte wahrscheinlich weggelassen werden, weil das erste auch dazu passen sollte, denke ich) auf einen neuen Port und ein anderes Protokoll um. /picockpit wird einfach auf / umgeleitet und dann schließlich...
WeiterlesenEnvoy-Routing und Rewriting-Snippet
Es ist möglich, URLs mit Envoy für das Backend umzuschreiben. Bitte beachten Sie, dass die HTML-Ausgabe die richtigen Routen haben muss! (Deshalb werde ich nicht weiter in diese Richtung forschen). REF: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-route Beachten Sie auch, dass der String für direct_response -> body -> inline_string,... wörtlich wiedergegeben wird.
Weiterlesenenvoy als http 2 Frontproxy - Aktivierung von http 2 für envoy (auch bekannt als h2)
Standardmäßig ist envoy nicht für den Aufbau von Verbindungen mit Clients konfiguriert, die sich mit dem neuen HTTP/2 verbinden. HTTP/2 ist für das moderne Web optimiert, mit binären Headern, etc. - höhere Geschwindigkeit. Da envoy in der Lage ist, HTTP/2 an Clients weiterzugeben, ist es ein Kinderspiel, es einzurichten. Und die Einrichtung...
Weiterlesenenvoy.yaml Beispiel für http und https Rewriting
Dies ist ein frühes Beispiel für die Arbeit mit envoy. Ich finde die Dokumentation schwierig zu verstehen, daher werde ich versuchen, meinen Fortschritt durch unregelmäßige Blogbeiträge zu verfolgen. Die folgende envoy.yaml funktioniert bei mir für http und https Rewriting zu google: static_resources: listeners: - address: socket_address: address: 0.0.0.0 port_value:...
Weiterlesen