VerneMQ: exemplo de econnrefused & Webhook

Webhooks activar webhooks como este no seu vernemq.conf.local (.local quando em execução na doca, para que as definições no fundo do ficheiro persistam): plugins.vmq_webhooks = no vmq_webhooks.js_auth_on_register.hook = auth_on_register vmq_webhooks.js_auth_on_register.endpoint = http://container_picockpit:1200/example/path Note que se o seu webhook não estiver acessível (econnrefused), a autenticação baseada em db também falhará ... ! Se você receber erros como...

Weiterlesen

enviado a servir uma resposta estática

Além de rotear e redirecionar você pode servir respostas estáticas com o Envoy. Neste caso eu quero servir uma resposta proibida (403) route_config: virtual_hosts: - nome: domínios picockpit: rotas ["picockpit.local:443", "picockpit.local"] route: - correspondência: { prefixo: "/demo" } direct_response: status: 403 corpo: inline_string: "Forbidden". - correspondência: {prefixo: {prefixo: {prefixo: {prefixo: } "/"} rota: {cluster: target_picockpit} Também pode servir...

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

VerneMQ Docker escreve por cima da minha configuração

Situação Você edita o vernemq.conf, apenas para descobrir que sua configuração é sobrescrita pela VerneMQ no próximo início (usando o container oficial do Docker). Especificamente, a seção com os ouvintes no final do arquivo é "forçada a você". Solução VerneMQ é iniciada usando um script (start_vernemq). O script pode ser visto aqui: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh O...

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

forma correcta de instanciar o Paho Client em JavaScript para wss (secure websocket)

A documentação Paho está infelizmente bastante fragmentada no momento, e alguns links no site do Eclipse não funcionam. Aqui estão alguns links de trabalho (a partir de 05/2019): https://www.eclipse.org/paho/clients/js/ https://www.eclipse.org/paho/files/jsdoc/index.html https://github.com/eclipse/paho.mqtt.javascript E aqui está um site fantástico do Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ Há uma mudança importante no namespace do Paho, onde você vai ter problemas usando...

Weiterlesen

Entendendo Erlang & Lua / Luerl para VerneMQ MongoDB auth_on_register hook

Meu objetivo / TLDR Meu objetivo com este post no blog é explicar como definir pontos de montagem personalizados para o VerneMQ, modificando o script MongoDB auth Lua (lua/auth/mongodb.lua). Definir um ponto de montagem personalizado é possível com o VerneMQ não apenas definindo pontos de montagem manualmente para ouvintes específicos (por exemplo, portas), mas também programando durante a autorização no seu...

Weiterlesen