Articoli con tag ‘envoy’
Debug di MQTT su websocket su Envoy 1.28.0
Ho migrato la nostra installazione di Envoy da Envoy 1.11.1 a 1.28.0 e ora sto usando anche SNI per selezionare il certificato corretto. Una parte importante di questa migrazione è l'aggiornamento della sintassi della configurazione di Envoy dall'API v2 all'API v3. L'aggiornamento è andato bene, tranne che per il nostro servizio MQTT basato su websocket...
Weiterlesencorrezione di envoy per servire grandi file dal backend / timeout / download interrotti
I clienti si lamentavano di non essere in grado di scaricare grandi file dai nostri siti web (ad esempio PiDoctor su PiCockpit.com). Inizialmente non potevo replicare il problema localmente, i file sembravano scaricare bene. Dopo ulteriori indagini ho determinato che i download venivano interrotti dopo un certo tempo - a seconda della velocità di download, quindi,...
WeiterlesenPaho MQTT Client (Javascript), Envoy, VerneMQ: debug delle disconnessioni
Dopo aver distribuito picockpit sul mio server, è stato osservato un bug: il frontend web si disconnetteva a intervalli molto regolari. Questo non era presente nell'ambiente di sviluppo locale. Gli utenti di picockpit hanno riportato lo stesso bug. Ho fatto il debug oggi e ho applicato un hotfix. Si è scoperto che era un problema di tempistica. TL;DR 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...
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...
WeiterlesenRotta e reindirizzamento con envoy
Un esempio di envoy.yaml che mostra come instradare e reindirizzare. Ci sono diverse opzioni, vedi qui https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-redirectaction Questo envoy.yaml instrada /taxgod e /taxgod/ (il secondo potrebbe probabilmente essere omesso perché il primo dovrebbe anche corrispondere, penso) ad una nuova porta e un protocollo diverso. /picockpit è semplicemente reindirizzato a / e poi finalmente...
WeiterlesenEnvoy routing e snippet di riscrittura
È possibile riscrivere gli URL con Envoy per il backend. Si prega di notare che l'output HTML deve avere i percorsi appropriati! (Ecco perché non ho intenzione di indagare ulteriormente in questa direzione). REF: https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route.proto#route-route Nota anche che la stringa sarà resa letteralmente per direct_response -> body -> inline_string,...
Weiterlesenenvoy come proxy anteriore http 2 - abilitare http 2 per envoy (aka h2)
Out of the box envoy non è configurato per impostare le connessioni con i client che si connettono ad esso con il nuovo HTTP/2. HTTP/2 è ottimizzato per il web moderno, con intestazioni binarie, ecc. - maggiore velocità. Dal momento che envoy è in grado di parlare di HTTP/2 ai client, è un gioco da ragazzi configurarlo. E la configurazione...
Weiterlesen