Débogage de MQTT sur websockets sur Envoy 1.28.0

J'ai migré notre installation Envoy de la version 1.11.1 à la version 1.28.0, et j'utilise maintenant aussi SNI pour sélectionner le bon certificat. Une grande partie de cette migration consiste à mettre à jour la syntaxe de la configuration d'Envoy de l'API v2 à l'API v3. La mise à jour s'est bien passée, sauf pour notre service MQTT basé sur websocket...

Weiterlesen

TermiShell : un shell basé sur le web pour le Raspberry Pi (notes de développement)

Introduction Au cours du développement de PiCockpit, je vais ajouter un terminal basé sur le web appelé TermiShell. Icône de TermiShell, par : Stephanie Harvey via unsplash.com TermiShell va vous permettre de vous connecter à votre Raspberry Pi en utilisant PiCockpit.com (et le picockpit-client) - aucune application supplémentaire n'est requise de part et d'autre. Cela devrait être très confortable,...

Weiterlesen

Paho MQTT Client (Javascript), Envoy, VerneMQ : débogage des déconnexions

Après avoir déployé picockpit sur mon serveur, un bug a été observé : le frontend web se déconnectait à intervalles très réguliers. Ce problème n'existait pas dans l'environnement de développement local. Les utilisateurs de picockpit ont signalé le même bug. Je l'ai débogué aujourd'hui et j'ai appliqué un correctif. Il s'avère que c'était un problème de timing. TL;DR comment...

Weiterlesen

Python Paho MQTT client websockets certificats auto-signés, howto

L'utilisation de Paho en Python avec des websockets et des certificats auto-signés pour une connexion websocket https:// présente quelques pièges, c'est pourquoi je les aborde ici avec un exemple de code : 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 ne se connecte pas à VerneMQ pour MQTT sur websockets, code d'erreur 503

Quelques informations de base pour tous ceux qui rencontrent les mêmes problèmes, et comment les déboguer. Code d'erreur 503 Voici le code d'erreur que je reçois : Erreur pendant l'échange de données WebSocket : Unxpected response code : 503. Définir la journalisation d'envoy sur debug Voici mon docker-compose.yaml pour envoy : version : '3.7' services : envoy : build : context : ./ dockerfile : Dockerfile nom_du_conteneur :...

Weiterlesen

envoy websockets par configuration de route, configuration de test JavaScript

Dans mon article d'hier, j'ai longuement discuté de la configuration et du test d'envoy pour le proxy des websockets. Aujourd'hui je voudrais ajouter quelques informations supplémentaires. syntaxe correcte pour la mise à jour des websockets par route Vous pouvez activer la mise à jour des websockets par route. Pas besoin de l'ajouter globalement : - nom : envoy.http_connection_manager config : #upgrade_configs : # - upgrade_type : websocket ...

Weiterlesen

envoy, docker et websockets - débogage et configuration

Les websockets sont une technologie passionnante, qui vous permet de transformer une connexion HTTP en une connexion binaire persistante de longue durée, que vous pouvez utiliser pour envoyer des messages bidirectionnels. Pour l'anecdote, le protocole MQTT peut être transporté à l'aide de websockets - ce qui est le seul ( ?) moyen pour un client JavaScript livré par le site web, par exemple. En...

Weiterlesen