Depuração de MQTT sobre websockets no Envoy 1.28.0

Migrei nossa instalação do Envoy da versão 1.11.1 para a 1.28.0 e agora também estou usando o SNI para selecionar o certificado correto. Uma grande parte dessa migração é atualizar a sintaxe da configuração do Envoy da API v2 para a API v3. A atualização correu bem, exceto para o nosso serviço MQTT baseado em websocket...

Weiterlesen

TermiShell: uma concha baseada na web para o Raspberry Pi (notas de desenvolvimento)

Introdução No decorrer do desenvolvimento do PiCockpit, vou adicionar um Terminal baseado na web chamado TermiShell. Ícone TermiShell, por: Stephanie Harvey via unsplash.com TermiShell vai permitir que você entre no seu Raspberry Pi usando PiCockpit.com (e o picockpit-cliente) - nenhuma aplicação adicional necessária em ambos os lados. Isto deve ser muito confortável,...

Weiterlesen

Certificados Python Paho MQTT clientes autoassinados, howto

Usando Paho em Python com websockets e certificados autoassinados para uma conexão websocket https:// tem um par de armadilhas, então estou abordando isso com algum código de exemplo aqui: 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

enviado não conectado à VerneMQ para MQTT por meio de websockets, código de erro 503

Algumas informações rápidas para qualquer pessoa que se depare com os mesmos problemas, e como depurá-los. Código de erro 503 Este é o código de erro que estou recebendo: Erro durante o aperto de mão do WebSocket: Código de resposta inesperado: 503. Set envoy logging to debug Here's my docker-compose.yaml for envoy: version: '3.7' services: envoy: build: context: ./ dockerfile: Dockerfile container_name:...

Weiterlesen

websockets envoy por configuração de rota, configuração de teste JavaScript

No meu artigo de ontem discuti longamente a configuração e teste do enviado para a proxy de websockets. Hoje eu gostaria de adicionar algumas informações adicionais. sintaxe correta para atualização do websocket por rota Você pode habilitar a atualização do websocket por rota. Não é necessário adicioná-lo globalmente: - nome: envoy.http_connection_manager config: #upgrade_configs: # - upgrade_type: websocket ...

Weiterlesen

envoy, docker e websockets - depuração e configuração

Os Websockets são uma tecnologia excitante, permitindo-lhe actualizar uma ligação HTTP para uma ligação binária persistente de longa duração, que pode utilizar para enviar mensagens bidireccionais. Como um aparte, o protocolo MQTT pode ser transportado usando websockets - que é a única forma (?) para um cliente JavaScript entregue pelo site, por exemplo. Em...

Weiterlesen