You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mosquitto桥接无法通过SSL连接MQTT Broker求助

Mosquitto SSL桥接失败问题

尝试通过SSL将Mosquitto桥接至MQTT Broker,已完成相关配置:

  • 禁用SSL(移除证书配置并修改端口)时,桥接功能正常;
  • 使用同一ca.crt证书的NodeJS测试应用可正常通过SSL连接目标Broker;
  • 桥接始终无法成功,仅日志输出Connecting bridge hub_to_cloud (XXX.XXX.XX.XX:8884),无法定位具体问题。

MQTT Broker配置

allow_anonymous true
listener 8883
protocol mqtt
cafile /mosquitto/certs/ca.crt
certfile /mosquitto/certs/server.crt
keyfile /mosquitto/certs/server.key

Mosquitto桥接配置

log_type all

allow_anonymous true
listener 1883 0.0.0.0

connection hub_to_cloud
address XXX.XXX.XX.XX:8884
bridge_cafile /mosquitto/certs/ca.crt
bridge_protocol_version mqttv311
try_private false
topic # both 0

docker-compose.yml配置

version: "3.8"

services:
  nginx:
    image: nginx:alpine
    restart: always
    container_name: nginx-container
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./nginx/logs:/var/log/nginx
    networks:
      - mqtt-net
    depends_on:
      - mosquitto
  mosquitto:
    image: eclipse-mosquitto:2
    container_name: mqtt-broker
    ports:
      - 1884:1883
      - 8884:8883
      - 9002:9001
    volumes:
      - ./mosquitto/config:/mosquitto/config
      - ./mosquitto/data:/mosquitto/data
      - ./mosquitto/log:/mosquitto/log
      - ./mosquitto/certs:/mosquitto/certs
    networks:
      - mqtt-net
networks:
  mqtt-net:

nginx.conf配置

events {
  worker_connections 1024;
}

stream {
  error_log /var/log/nginx/error.log;

  upstream mqtt_broker {
    server mqtt-broker:8884;
  }

  server {
    listen 8884;
    proxy_pass mqtt_broker;
  }
}

内容的提问来源于stack exchange,提问作者Paweł

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:54:59